SlideShare uma empresa Scribd logo
1 de 35
UNIVERSIDAD POLITECNICA DE NICARAGUA. « Sirviendo a la Comunidad»  TEMA: Reingeniería. ASIGNATURA: Ingeniería del Software I. PROFESORA: Tania Sequeira. INTEGRANTES: Aura Rivera. Ariel Vargas. Joyce Romero. Ronald Fajardo. CARRERA: Ingeniería en Sistemas de Información.
INTRODUCCIÓN. La ingeniería se produce en dos niveles distintos de abstracción. En el nivel de negocios, la reingeniería se concentra en el proceso de negocios con la intención de efectuar cambios que mejoren la competitividad en algún aspecto de los negocios. En el nivel del software, la reingeniería examina los sistemas y aplicaciones de información con la intención de reestructurarlos o reconstruirlos de tal modo que muestren una mayor calidad.
¿Quién lo hace?  A nivel de negocio, la reingeniería es ejercida por especialistas de negocio (frecuentemente empresas de consultoría). A nivel de software, la reingeniería es ejecutada por ingenieros del software. ¿ Por qué es importante?  Vivimos en un mundo en constante cambio. Las demandas de funciones de negocios y de tecnología de información que las soportan están cambiando a un ritmo que impone mucha presión competitiva en todas las organizaciones comerciales. Tanto los negocios como el software que soportan (o es) el negocio deberán diseñarse una vez más para mantener el ritmo.
Cuáles son los pasos?
El proceso de reingeniería del Software:
2-¿Cómo puedo estar seguro de que lo he hecho correctamente?  Utilizando las mismas prácticas que se aplican en todos los procesos de ingeniería del software:  -las revisiones técnicas formales. ,[object Object], -  y la comprobación. 1-¿ Cuál es el producto obtenido? El resultado final es un proceso de reingeniería de negocios y/o el software  de reingeniería que lo soporta.
REINGENIERIA DE PROCESOS DE NEGOCIOS. * La reingeniería constituye una recreación y reconfiguración de las actividades y procesos de la empresa, lo cual implica volver a crear y configurar de manera radical él o los sistemas de la compañía a los efectos de lograr incrementos significativos, y en un corto período de tiempo, en materia de rentabilidad, productividad, tiempo de respuesta, y calidad, lo cual implica la obtención de ventajas competitivas.  * Reingeniería es el rediseño rápido y radical de los procesos estratégicos de valor agregado y de los sistemas, las políticas y las estructuras organizacionales que los sustentan para optimizar los flujos de trabajo y la productividad de una organización.
Procesos de negocios: Un proceso de negocio es un conjunto de tareas lógicamente relacionadas que se llevan a cabo para obtener  un determinado resultado de negocio. Qué es un Proceso de  Negocios  ? Eso, eso, eso…
Procesos de Negocios. Entre los ejemplos de negocio se incluyen el diseño de un nuevo producto, la adquisición de servicios y suministros, la contratación de nuevos empleados o el pago a proveedores. Cada una requiere un conjunto de tareas y se basa en diversos recursos dentro del negocio.
Cada proceso de negocio posee un cliente bien definido -una persona o grupo que recibe el resultado (por ejemplo: una idea, un informe, un diseño, un producto  X . Además, los procesos de negocio cruzan los límites organizativos. Requieren que distintos grupos de la organización participen en las «tareas lógicamente relacionadas » que definen el proceso. Todo sistema es en realidad una jerarquía de subsistemas.
Cada uno de los sistemas de negocios (también llamados función  de negocios) están compuestos por uno o más procesos de negocio, y cada proceso de negocio está definido por un conjunto de subprocesos.  La RPN se puede aplicar a cualquier nivel de la jerarquía, pero a medida que se amplía el ámbito de la RPN (esto es, a medida que se asciende dentro de la jerarquía) los riesgos asociados a la RPN crecen de forma dramática. Por esta razón, la mayor parte de los esfuerzos de la RPN se centran en procesos o subprocesos individuales. Principios de reingeniería de procesos. En muchos aspectos, la RPN tiene un objetivo y un ámbito idéntico al proceso de la ingeniería de la información . Lo ideal sería que la RPN se produjera de forma descendente, comenzando por la identificación de los objetivos principales del negocio, y culminando con una especificación mucho más detallada de las tareas que definen un proceso específico de negocios.  Hammersugiere una serie de principios que nos guiarán por las actividades de la RPN cuando se comienza en el nivel superior (de negocios):
Organización en torno a los resultados, no en torno a las tareas: Hay muchas compañías que poseen actividades de negocio compartimentadas, de tal modo que no existe una Única persona (u organización) que tenga la responsabilidad (o el control) de un cierto resultado de negocio. En tales casos, resulta difícil determinar el estado del trabajo e incluso más difícil depurar los problemas de proceso cuando esto sucede. La RPN deberá diseñar procesos que eviten este problema. Hay que hacer que quienes utilicen la salida del proceso lleven a cabo el proceso: El objetivo de esta recomendación es permitir que quienes necesiten las salidas del negocio controlen todas las variables que les permitan obtener esa salida de forma temporalmente adecuada. Cuanto menor sea el número de personas distintas implicadas en el proceso, más fácil será el camino hacia un resultado rápido. Hay que incorporar el trabajo de procesamiento de información al trabajo real que produce la información pura. A medida que la TI se distribuye, es posible localizar la mayor parte del procesamiento de información en el seno de la organización que produce los datos. Esto localiza el control, reduce el tiempo de comunicación y la potencia de computación se pone en manos de quienes tienen fuertes intereses en la información producida.
Hay que manipular recursos geográficamente dispersos como si estuviesen centralizados. Las comunicaciones basadas en computadoras se han sofisticado tanto que es posible situar grupos geográficamente dispersos en una misma «oficina virtual». Por ejemplo, en lugar de emplear tres turnos de ingeniería en una única localización, toda la compañía podrá tener un turno en Europa, un segundo turno en Norteamérica y un tercer turno en Asia. En todos los casos, los ingenieros trabajarán durante el día y se comunicarán empleando redes de un elevado ancho de banda. Hay que enlazar las actividades paralelas en lugar de integrar sus resultados. Cuando se utilizan diferentes grupos de empleados para realizar tareas en paralelo, es esencial diseñar un proceso que exija una continuación en la comunicación y coordinación. En caso contrario, es seguro que se producirán problemas de integración. Hay que poner e1 punto de decisión en el lugar donde se efectúa el trabajo, e incorporar el control al proceso. Dentro de la jerga del diseño del software, esto sugiere una estructura organizativa más uniforme y con menos factorización. Hay que capturar los datos una sola vez, en el lugar donde se producen. Los datos se deberán almacenar en computadoras, de tal modo que una vez recopilados no sea necesario volver a introducirlos nunca.
Todos y cada uno de los principios anteriores representan una visión dotalmente general» de la RPN. Una vez informados por estos principios, los planificadores de negocios y los diseñadores de procesos deberán empezar a procesar el nuevo diseño. En la sección siguiente, se examinará el proceso de RPN más detalladamente.  Un modelo de RPN Al igual que la mayoría de las actividades de ingeniería, la reingeniería de procesos de negocio es iterativa. Los objetivos de negocio, y los procesos que los logran, deberán adaptarse a un entorno de negocio cambiante. Por esta razón, no existe ni principio ni fin en la RPN -se trata de un proceso evolutivo.
Modelo de reingeniería de  procesos de negocio. Definición del Negocio. Refinamiento e instanciación. Identificación de Procesos. Creación de prototipos. Evaluación de Procesos. Especificación y diseño de Procesos.
Advertencias: Es muy frecuente que se exagere la importancia de un nuevo enfoque de negocio - e n este caso, la RPN como si fuese la panacea, para después criticarla con tanta severidad que pase a ser un desecho. A lo largo de los Últimos años, se ha debatido de forma exagerada acerca de la eficacia de la RPN. En un resumen excelente del caso a favor  y en contra de la RPN, Weiszexpone su argumento de la manera siguiente: Resulta tentador atacar a la RPN como si se tratase de otra reencarnación de la famosa bala de plata. Desde varios puntos de vista -pensamiento de sistemas, tratamiento de personal, simple historia- habría que predecir unos índices de fallos elevados para el concepto, índices que parecen ser confirmados por la evidencia empírica. Para muchas compañías parece  que la bala de plata no da en el blanco. Para otras, sin embargo, el nuevo esfuerzo de la reingeniería ha tenido evidentemente su fruto ... La RPN puede funcionar, si es aplicada por personas motivadas y formadas, que reconozcan que el proceso de reingeniería es una actividad continua. Si la RPN se lleva a cabo de forma efectiva, los sistemas de información se integran mejor con los procesos de negocios..
Dentro  del contexto de una estrategia más amplia de negocios se puede examinar la reingeniería de aplicaciones más antiguas, y también se pueden establecer de forma inteligente las prioridades de reingeniería del software Aunque la reingeniería de negocio sea una estrategia rechazada por una compañía, la reingeniería del software es algo que debe hacerse. Existen decenas de millares de sistemas heredados -aplicaciones cruciales para el éxito de negocios grandes y pequeños- que se ven afectados por una enorme necesidad de ser reconstruidos o rehechos en su totalidad. Reingeniería del Software: Este escenario resulta sumamente conocido: Una aplicación ha dado servicio y ha cubierto las necesidades del negocio de una compañía durante diez o quince años. A lo largo de este tiempo, ha sido corregida, adaptada y mejorada muchas veces. Las personas se dedicaban a esta tarea con la mejor de sus intenciones, pero las prácticas de ingeniería del software buenas siempre se echaban a un lado (por la urgencia de otros problemas). Ahora la aplicación se ha vuelto inestable. Sigue funcionando, pero cada vez que intenta efectuar un cambio se producen efectos colaterales graves e inesperados.
La imposibilidad de mantener el software no es un problema nuevo. De hecho, el gran interés por la reingeniería del software ha sido generado por un «iceberg» de mantenimiento de software que lleva creciendo desde hace más de treinta años. Qué se puede hacer? Mantenimiento del software: Hace casi treinta años, el mantenimiento del software  se  caracterizaba por ser como un «iceberg».  Esperábamos que lo que era inmediatamente visible fuera de verdad lo que había, pero sabíamos que una enorme  masa de posibles problemas y costes yacía por  debajo de la superficie. A principios de los años 70, el iceberg de  mantenimiento era lo suficientemente grande como para hundir un portaaviones. En la actualidad podría hundir toda la Armada.
El mantenimiento del software existente puede dar cuenta de más del 60 por 100 de las inversiones efectuadas por una organización de desarrollo, y ese porcentaje sigue ascendiendo a medida que se produce más software. Los lectores que tengan menos conocimientos en estos temas podrían preguntarse por qué se necesita tanto mantenimiento, y por qué se invierte  tanto esfuerzo.  Gran parte del software del que dependemos en la actualidad tiene por término medio entre diez y quince años de antigüedad. Aun cuando estos programas se crearon empleando las mejores técnicas de diseño y codificación conocidas en su época (y la mayoría no lo fueron), se crearon cuando el tamaño de los programas y el espacio de almacenamiento eran las preocupaciones principales. A continuación, se trasladaron a las nuevas plataformas, se ajustaron para adecuarlos a cambios de máquina y de sistemas operativos y se mejoraron para satisfacer nuevas necesidades del usuario; y todo esto se hizo sin tener en cuenta la arquitectura global. El resultado son unas estructuras muy mal diseñadas, una mala codificación, una lógica inadecuada, y una escasa documentación de los sistemas de software que ahora nos piden que mantengamos en marcha ...
La naturaleza ubicua del cambio subyace en todos los tipos de trabajo del software. El cambio es algo inevitable cuando se construyen sistemas basados en computadoras; por tanto debemos desarrollar mecanismos para evaluar, controlar y realizar modificaciones. Un modelo de procesos de reingeniería del  software: La reingeniería requiere tiempo; conlleva un coste de dinero enorme y absorbe recursos que de otro modo podrían emplearse en preocupaciones más inmediatas. Por todas estas razones, la reingeniería no se lleva a cabo en unos pocos meses, ni siquiera en unos pocos años. La reingeniería de sistemas de información es una actividad que absorberá recursos de las tecnologías de la información durante muchos años. Esta es la razón por la cual toda organización necesita una estrategia pragmática para la reingeniería del software. Una estrategia de trabajo también acompaña al modelo de procesos de reingeniería. Más adelante, en esta misma sección, se describirá este modelo, pero veamos en primer lugar algunos de los principios básicos. La reingeniería es una tarea de reconstrucción, y se podrá comprender mejor la reingeniería de sistemas de  información si tomamos en consideración una actividad análoga: la reconstrucción de una casa. Consideremos la situación siguiente:
Suponga que ha adquirido una casa en otro lugar. Nunca ha llegado a ver la finca realmente, pero la consiguió por un precio sorprendentemente reducido, advirtiéndosele que quizá fuera preciso reconstruirla en su totalidad. ¿Cómo se las arreglaría? Antes de empezar a construir, sería razonable inspeccionar la casa. Para determinar si necesita una reconstrucción, usted (o un inspector profesional) creará una lista de criterios para que la inspección sea sistemática.  Antes de derribar y de construir toda la casa, asegúrese de que la estructura está en mal estado. Si la casa tiene una buena estructura, quizá sea posible remodelarla sin reconstruirla (con un coste muy inferior y en mucho menos tiempo). Antes de empezar a reconstruir, asegúrese de que entiende la forma en que se construyó el original. Eche una ojeada por detrás de las paredes. Comprenda el cableado, la fontanería y los detalles internos de la estructura. Aunque vaya a eliminarlos todos, la idea que haya adquirido de ellos le servirán de mucho cuando empiece a construirla. Si empieza a reconstruir, utilice tan solo los materiales más modernos y de mayor duración. Quizá ahora le cuesten un poquito más, pero le ayudarán a evitar un mantenimiento costoso y lento en fecha posterior.  Si ha decidido reconstruir, tenga una actitud disciplinada.  Utilice prácticas que den como resultado una gran calidad -tanto hoy como en el futuro.
Aunque los principios anteriores se centran en la reconstrucción de una casa, son aplicables igualmente a la reingeniería de sistemas y aplicaciones basados en computadoras. Para implementar estos principios, se aplica un modelo de proceso de reingeniería del software que define las seis actividades mostradas en la Figura 30.2. En algunas ocasiones, estas actividades se producen de forma secuencial y lineal, pero esto no siempre es así. Por ejemplo, puede ser que la ingeniería inversa (la comprensión del funcionamiento interno de un programa) tenga que producirse antes de que pueda comenzar la reestructuración de documentos. El paradigma de la reingeniería mostrado en la figura es un modelo cíclico. Esto significa que cada una de las actividades presentadas como parte del paradigma pueden repetirse en otras ocasiones. Para un ciclo en particular, el proceso puede terminar después de cualquiera de estas actividades. Análisis de inventario. Todas las organizaciones de software deberán disponer de un inventario de todas sus aplicaciones. El inventario puede que no sea más que una hoja de cálculo con la información que proporciona una descripción detallada (por ejemplo: tamaño, edad, importancia para el negocio) de todas las aplicaciones activas.
Los candidatos a la reingeniería aparecen cuando se ordena esta información en función de su importancia para el negocio, longevidad, mantenibilidad actual y otros criterios localmente importantes. Es entonces cuando es posible asignar recursos a las aplicaciones candidatas para el trabajo de reingeniería. Es importante destacar que el inventario deberá revisarse con regularidad. El estado de las aplicaciones (por ejemplo, la importancia con respecto al negocio) puede cambiar en función del tiempo y, como resultado, cambiarán también las prioridades para la reingeniería. Un modelo de proceso de reingeniería de software. Ingeniería Directa. Análisis de  Inventario. Reestructuración de Datos. ReestructuracióndeDocumentos. Reestructuración de código. IngenieríaInversa.
Reestructuración de documentos. Una documentación escasa es la marca de muchos sistemas heredados.  Opción 1: La creación de documentación consume muchísimo tiempo. El sistema funciona, y ya nos apañaremos con lo que tengamos. En algunos casos, éste es el enfoque correcto. No es posible volver a crear la documentación para cientos de programas de  computadoras. Si un programa es relativamente estático está llegando al final de vida útil, y no es probable que experimente muchos cambios: idejémoslo así! Qué se puede hacer al respecto?
Opción 2: Es preciso actualizar la documentación, pero se dispone de recursos limitados. Se utilizará un enfoque «del tipo documentar si se modifica». Quizá no se necesario volver a documentar por completo la aplicación. Más bien se documentarán por completo aquellas partes del sistema que estén experimentando cambios en ese momento. La colección de documentos Útil y relevante irá evolucionando con el tiempo. Opción 3: El sistema es fundamental para el negocio, y  es preciso volver a documentarlo por completo. En este caso, un enfoque inteligente consiste en reducir la documentación al mínimo necesario.
Ingeniería inversa: Es el proceso de construir especificaciones de un mayor nivel de abstracción partiendo del código fuente de un sistema software o cualquier otro producto (se puede utilizar como punto de partida cualquier otro elemento de diseño, etc.). Estas especificaciones pueden volver ser utilizadas para construir una nueva implementación del sistema utilizando, por ejemplo, técnicas de ingeniería directa. Ventajas de la Ingeniería Inversa: Reducir la complejidad del sistema: al intentar comprender el software se facilita su mantenimiento y la complejidad existente disminuye. Generar diferentes alternativas: del punto de partida del proceso, principalmente código fuente, se generan representaciones gráficas lo que facilita su comprensión. Recuperar y/o actualizar la información perdida (cambios que no se documentaron en su momento).
Detectar efectos laterales: los cambios que se puedan realizar en un sistema puede conducirnos a que surjan efectos no deseados, esta serie de anomalías puede ser detectados por la ingeniería inversa. Facilitar la reutilización: por medio de la ingeniería inversa se pueden detectar componentes de posible reutilización de sistemas existentes, pudiendo aumentar la productividad, reducir los costes y los riesgos de mantenimiento. La finalidad de la ingeniería inversa es la de desentrañar los misterios y secretos de los sistemas en uso a partir del código. Para ello, se emplean una serie de herramientas que extraen información de los datos, procedimientos y arquitectura del sistema existente. TIPOS DE INGENIERIA INVERSA. Ingeniería inversa de datos: Se aplica sobre algún código de bases datos (aplicación, código SQL, etc) para obtener los modelos relacionales o sobre el modelo relacional para obtener el diagrama entidad-relación. Ingeniería inversa de lógica o de proceso: Cuando la ingeniería inversa se aplica sobre código de un programa para averiguar su lógica o sobre cualquier documento de diseño para obtener documentos de análisis o de requisitos.
Ingeniería inversa de interfaces de usuario: Se aplica con objeto de mantener la lógica interna del programa para obtener los modelos y especificaciones que sirvieron de base para la construcción de la misma, con objeto de tomarlas como punto de partida en procesos de ingeniería directa que permitan modificar dicha interfaz. HERRAMIENTAS PARA LA INGENIERIA INVERSA. ,[object Object]
Las Herramientas de Inyección de Fallos.
Los Desensambladores.
Los compiladores Inversos o Decompiladores.
Las Herramientas CASE.,[object Object]
Los tipos de reestructuración, básicamente son 2: del código y de datos. Reestructuración del código. La reestructuración del código se lleva a cabo para conseguir un diseño que produzca la misma función pero con mayor calidad que el programa original. Reestructuración de datos. Primero se realiza el ANALISIS del código.  Se evalúan las definiciones de los datos, archivos, O/I e Interfaces.  Extraer elementos y objetos de datos para obtener información del flujo de datos y comprender la estructura.
Ingeniería directa (forward engineering): En un mundo ideal, las aplicaciones se  reconstruyen utilizan utilizando un «motor de reingeniería» automatizado. En el motor se insertm’a el programa viejo, que lo analizaría, reestructurm’a y después regeneraría la forma de exhibir los mejores aspectos de la calidad del software. Después de un espacio de tiempo corto, es probable que llegue a aparecer este «motor», pero los fabricantes de CASE han presentado herramientas que proporcionan un subconjunto limitado de estas capacidades y que se enfrentan con dominios de aplicaciones específicos (por ejemplo, aplicaciones que han sido implementadas empleando un sistema de bases de datos específico). Lo que es más importante, estas herramientas de reingeniería cada vez son más sofisticadas. La ingeniería directa, que se denomina también renovación o reclamación, no solamente recupera la información de diseño de un software ya existente, sino que, además, utiliza esta información para alterar o reconstruir el sistema existente en un esfuerzo por mejorar su calidad global. En la mayoría de los casos, el software procedente de una reingeniería vuelve a implementar la funcionalidad del sistema existente, y añade además nuevas funciones y/o mejora el rendimiento global.

Mais conteúdo relacionado

Mais procurados

P L A N E A C IÓ N E S T R A TÉ G I C A
P L A N E A C IÓ N  E S T R A TÉ G I C AP L A N E A C IÓ N  E S T R A TÉ G I C A
P L A N E A C IÓ N E S T R A TÉ G I C Aelizabeth orduz
 
Teoria De Restricciones Aplicada A La Gcia De Proyectos
Teoria De Restricciones Aplicada A La Gcia De ProyectosTeoria De Restricciones Aplicada A La Gcia De Proyectos
Teoria De Restricciones Aplicada A La Gcia De ProyectosJuan Carlos Fernández
 
Guía del PMBOK® > Gestión de los Recursos Humanos
Guía del PMBOK® > Gestión de los Recursos HumanosGuía del PMBOK® > Gestión de los Recursos Humanos
Guía del PMBOK® > Gestión de los Recursos HumanosDharma Consulting
 
Curso Herramientas Avanzadas para la Gestión de Proyectos - Sesión 01
Curso Herramientas Avanzadas para la Gestión de Proyectos - Sesión 01Curso Herramientas Avanzadas para la Gestión de Proyectos - Sesión 01
Curso Herramientas Avanzadas para la Gestión de Proyectos - Sesión 01Dharma Consulting
 
Métricas: Cost Performance Index y Schedule Performance Index
Métricas: Cost Performance Index y Schedule Performance IndexMétricas: Cost Performance Index y Schedule Performance Index
Métricas: Cost Performance Index y Schedule Performance IndexEmiliano Grande
 
Gestión de los Riesgos, Adquisiciones y Financiera
Gestión de los Riesgos, Adquisiciones y FinancieraGestión de los Riesgos, Adquisiciones y Financiera
Gestión de los Riesgos, Adquisiciones y FinancieraDharma Consulting
 
Casos de negocio para desarrollar proyectos de TI en el gobierno
Casos de negocio para desarrollar proyectos de TI en el gobiernoCasos de negocio para desarrollar proyectos de TI en el gobierno
Casos de negocio para desarrollar proyectos de TI en el gobiernoInfotec
 
Administración de proyectos
Administración de proyectosAdministración de proyectos
Administración de proyectoslareinadebastos
 
Fundamentos arquitectura del software
Fundamentos arquitectura del softwareFundamentos arquitectura del software
Fundamentos arquitectura del softwarevenezuela2015
 
Plan de negocios exposicion (1)
Plan de negocios exposicion (1)Plan de negocios exposicion (1)
Plan de negocios exposicion (1)consueloyadrian
 
Primavera P6 Tips and Tricks
Primavera P6 Tips and TricksPrimavera P6 Tips and Tricks
Primavera P6 Tips and Tricksp6academy
 
Procesos De Ingenieria Del Software
Procesos De Ingenieria Del SoftwareProcesos De Ingenieria Del Software
Procesos De Ingenieria Del SoftwareRaquel Solano
 
Gestión de los costos del proyecto
Gestión de los costos del proyectoGestión de los costos del proyecto
Gestión de los costos del proyectoLuis Sanchez
 
Implementación de Fábricas de Software en el Sector Público Colombiano
Implementación de Fábricas de Software en el Sector Público ColombianoImplementación de Fábricas de Software en el Sector Público Colombiano
Implementación de Fábricas de Software en el Sector Público ColombianoKudos S.A.S
 

Mais procurados (20)

P L A N E A C IÓ N E S T R A TÉ G I C A
P L A N E A C IÓ N  E S T R A TÉ G I C AP L A N E A C IÓ N  E S T R A TÉ G I C A
P L A N E A C IÓ N E S T R A TÉ G I C A
 
Teoria De Restricciones Aplicada A La Gcia De Proyectos
Teoria De Restricciones Aplicada A La Gcia De ProyectosTeoria De Restricciones Aplicada A La Gcia De Proyectos
Teoria De Restricciones Aplicada A La Gcia De Proyectos
 
Guía del PMBOK® > Gestión de los Recursos Humanos
Guía del PMBOK® > Gestión de los Recursos HumanosGuía del PMBOK® > Gestión de los Recursos Humanos
Guía del PMBOK® > Gestión de los Recursos Humanos
 
Project recursos y costos
Project recursos y costosProject recursos y costos
Project recursos y costos
 
Curso Herramientas Avanzadas para la Gestión de Proyectos - Sesión 01
Curso Herramientas Avanzadas para la Gestión de Proyectos - Sesión 01Curso Herramientas Avanzadas para la Gestión de Proyectos - Sesión 01
Curso Herramientas Avanzadas para la Gestión de Proyectos - Sesión 01
 
Agile Inception.pptx
Agile Inception.pptxAgile Inception.pptx
Agile Inception.pptx
 
Métricas: Cost Performance Index y Schedule Performance Index
Métricas: Cost Performance Index y Schedule Performance IndexMétricas: Cost Performance Index y Schedule Performance Index
Métricas: Cost Performance Index y Schedule Performance Index
 
Tema 3 planeación administración estratégica
Tema 3 planeación   administración estratégicaTema 3 planeación   administración estratégica
Tema 3 planeación administración estratégica
 
Gestión de los Riesgos, Adquisiciones y Financiera
Gestión de los Riesgos, Adquisiciones y FinancieraGestión de los Riesgos, Adquisiciones y Financiera
Gestión de los Riesgos, Adquisiciones y Financiera
 
Casos de negocio para desarrollar proyectos de TI en el gobierno
Casos de negocio para desarrollar proyectos de TI en el gobiernoCasos de negocio para desarrollar proyectos de TI en el gobierno
Casos de negocio para desarrollar proyectos de TI en el gobierno
 
Administración de proyectos
Administración de proyectosAdministración de proyectos
Administración de proyectos
 
Exposicion cocomo
Exposicion cocomoExposicion cocomo
Exposicion cocomo
 
Fundamentos arquitectura del software
Fundamentos arquitectura del softwareFundamentos arquitectura del software
Fundamentos arquitectura del software
 
Plan de negocios exposicion (1)
Plan de negocios exposicion (1)Plan de negocios exposicion (1)
Plan de negocios exposicion (1)
 
Primavera P6 Tips and Tricks
Primavera P6 Tips and TricksPrimavera P6 Tips and Tricks
Primavera P6 Tips and Tricks
 
Procesos De Ingenieria Del Software
Procesos De Ingenieria Del SoftwareProcesos De Ingenieria Del Software
Procesos De Ingenieria Del Software
 
Gestión de los costos del proyecto
Gestión de los costos del proyectoGestión de los costos del proyecto
Gestión de los costos del proyecto
 
Crystal Clear
Crystal ClearCrystal Clear
Crystal Clear
 
Ppt project management sesión 2
Ppt project management sesión 2Ppt project management sesión 2
Ppt project management sesión 2
 
Implementación de Fábricas de Software en el Sector Público Colombiano
Implementación de Fábricas de Software en el Sector Público ColombianoImplementación de Fábricas de Software en el Sector Público Colombiano
Implementación de Fábricas de Software en el Sector Público Colombiano
 

Destaque (13)

Reingeniería
ReingenieríaReingeniería
Reingeniería
 
Reingeniería De Proceso
Reingeniería De ProcesoReingeniería De Proceso
Reingeniería De Proceso
 
Reingeniería de procesos
Reingeniería de procesosReingeniería de procesos
Reingeniería de procesos
 
Caso practico lamosa completo.
Caso practico lamosa completo.Caso practico lamosa completo.
Caso practico lamosa completo.
 
Reingenieria De Procesos
Reingenieria De ProcesosReingenieria De Procesos
Reingenieria De Procesos
 
Reingenieria de Procesos: caso de exito y fracaso
Reingenieria de Procesos: caso de exito y fracasoReingenieria de Procesos: caso de exito y fracaso
Reingenieria de Procesos: caso de exito y fracaso
 
Reingenieria de ford motor
Reingenieria de ford motorReingenieria de ford motor
Reingenieria de ford motor
 
Modelos gerenciales presentacion
Modelos gerenciales  presentacionModelos gerenciales  presentacion
Modelos gerenciales presentacion
 
Reingenieria empresa ejemplo
Reingenieria empresa ejemploReingenieria empresa ejemplo
Reingenieria empresa ejemplo
 
Reingenieria de mc donald´s
Reingenieria de mc donald´sReingenieria de mc donald´s
Reingenieria de mc donald´s
 
Reingeniería De Procesos
Reingeniería De ProcesosReingeniería De Procesos
Reingeniería De Procesos
 
Reingenieria; Ejemplo Ford
Reingenieria; Ejemplo FordReingenieria; Ejemplo Ford
Reingenieria; Ejemplo Ford
 
Gerencia Estratégica Modelos Gerenciales
Gerencia Estratégica Modelos GerencialesGerencia Estratégica Modelos Gerenciales
Gerencia Estratégica Modelos Gerenciales
 

Semelhante a Reingeniería

Rediseño Organizacional
Rediseño OrganizacionalRediseño Organizacional
Rediseño OrganizacionalFinancieros2008
 
Ensayo tecnologías de la información y comunicación
Ensayo tecnologías de la información y comunicaciónEnsayo tecnologías de la información y comunicación
Ensayo tecnologías de la información y comunicaciónHernán Parra
 
Hoja de ruta para implementar un erp
Hoja de ruta para implementar un erpHoja de ruta para implementar un erp
Hoja de ruta para implementar un erpEvaluandoSoftware
 
Los 7 hábitos para el éxito del erp
Los 7 hábitos para el  éxito del erpLos 7 hábitos para el  éxito del erp
Los 7 hábitos para el éxito del erpEvaluandoSoftware
 
Rediseño de la empresa mediante la implementación de Proyectos Informáticos
Rediseño de la empresa mediante la implementación de Proyectos InformáticosRediseño de la empresa mediante la implementación de Proyectos Informáticos
Rediseño de la empresa mediante la implementación de Proyectos Informáticosmemin987
 
Cómo y por qué insertar erp
Cómo y por qué insertar erpCómo y por qué insertar erp
Cómo y por qué insertar erpEvaluandoSoftware
 
Glosario tecnológico
Glosario tecnológicoGlosario tecnológico
Glosario tecnológicosandrariveram
 
Ensayo TIC y Reingenieria de Procesos
Ensayo TIC y Reingenieria de ProcesosEnsayo TIC y Reingenieria de Procesos
Ensayo TIC y Reingenieria de ProcesosXavier Jose
 
Integrar Erp Es Integrar Personas
Integrar Erp Es Integrar PersonasIntegrar Erp Es Integrar Personas
Integrar Erp Es Integrar PersonasMaria Lleo
 
Aplicación de la BPM en el diseño del proceso del negocio
Aplicación de la BPM en el diseño del proceso del negocioAplicación de la BPM en el diseño del proceso del negocio
Aplicación de la BPM en el diseño del proceso del negociolobi7o
 
Proyecto final 1
Proyecto final 1Proyecto final 1
Proyecto final 1vianeth12
 
Enterprise Resource Planning
Enterprise Resource PlanningEnterprise Resource Planning
Enterprise Resource PlanningRMVTITO
 
Enterprise Resource Planning
Enterprise Resource PlanningEnterprise Resource Planning
Enterprise Resource PlanningRMVTITO
 
Sio2009 Eq2 L1 Pre Myerson Cap1 2 3
Sio2009 Eq2 L1 Pre Myerson Cap1 2 3Sio2009 Eq2 L1 Pre Myerson Cap1 2 3
Sio2009 Eq2 L1 Pre Myerson Cap1 2 3JXCP.86
 

Semelhante a Reingeniería (20)

Reingenieria
ReingenieriaReingenieria
Reingenieria
 
SOA y Gestion por Procesos
SOA y Gestion por ProcesosSOA y Gestion por Procesos
SOA y Gestion por Procesos
 
Rediseño Organizacional
Rediseño OrganizacionalRediseño Organizacional
Rediseño Organizacional
 
Blog RediseñO
Blog RediseñOBlog RediseñO
Blog RediseñO
 
Ensayo tecnologías de la información y comunicación
Ensayo tecnologías de la información y comunicaciónEnsayo tecnologías de la información y comunicación
Ensayo tecnologías de la información y comunicación
 
Hoja de ruta para implementar un erp
Hoja de ruta para implementar un erpHoja de ruta para implementar un erp
Hoja de ruta para implementar un erp
 
Los 7 hábitos para el éxito del erp
Los 7 hábitos para el  éxito del erpLos 7 hábitos para el  éxito del erp
Los 7 hábitos para el éxito del erp
 
Rediseño de la empresa mediante la implementación de Proyectos Informáticos
Rediseño de la empresa mediante la implementación de Proyectos InformáticosRediseño de la empresa mediante la implementación de Proyectos Informáticos
Rediseño de la empresa mediante la implementación de Proyectos Informáticos
 
Cómo y por qué insertar erp
Cómo y por qué insertar erpCómo y por qué insertar erp
Cómo y por qué insertar erp
 
Glosario tecnológico
Glosario tecnológicoGlosario tecnológico
Glosario tecnológico
 
Rightsizing
RightsizingRightsizing
Rightsizing
 
MRP II y ERP
MRP II y ERPMRP II y ERP
MRP II y ERP
 
Ensayo TIC y Reingenieria de Procesos
Ensayo TIC y Reingenieria de ProcesosEnsayo TIC y Reingenieria de Procesos
Ensayo TIC y Reingenieria de Procesos
 
Integrar Erp Es Integrar Personas
Integrar Erp Es Integrar PersonasIntegrar Erp Es Integrar Personas
Integrar Erp Es Integrar Personas
 
Aplicación de la BPM en el diseño del proceso del negocio
Aplicación de la BPM en el diseño del proceso del negocioAplicación de la BPM en el diseño del proceso del negocio
Aplicación de la BPM en el diseño del proceso del negocio
 
Proyecto Final
Proyecto FinalProyecto Final
Proyecto Final
 
Proyecto final 1
Proyecto final 1Proyecto final 1
Proyecto final 1
 
Enterprise Resource Planning
Enterprise Resource PlanningEnterprise Resource Planning
Enterprise Resource Planning
 
Enterprise Resource Planning
Enterprise Resource PlanningEnterprise Resource Planning
Enterprise Resource Planning
 
Sio2009 Eq2 L1 Pre Myerson Cap1 2 3
Sio2009 Eq2 L1 Pre Myerson Cap1 2 3Sio2009 Eq2 L1 Pre Myerson Cap1 2 3
Sio2009 Eq2 L1 Pre Myerson Cap1 2 3
 

Último

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Último (15)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

Reingeniería

  • 1. UNIVERSIDAD POLITECNICA DE NICARAGUA. « Sirviendo a la Comunidad» TEMA: Reingeniería. ASIGNATURA: Ingeniería del Software I. PROFESORA: Tania Sequeira. INTEGRANTES: Aura Rivera. Ariel Vargas. Joyce Romero. Ronald Fajardo. CARRERA: Ingeniería en Sistemas de Información.
  • 2. INTRODUCCIÓN. La ingeniería se produce en dos niveles distintos de abstracción. En el nivel de negocios, la reingeniería se concentra en el proceso de negocios con la intención de efectuar cambios que mejoren la competitividad en algún aspecto de los negocios. En el nivel del software, la reingeniería examina los sistemas y aplicaciones de información con la intención de reestructurarlos o reconstruirlos de tal modo que muestren una mayor calidad.
  • 3.
  • 4. ¿Quién lo hace? A nivel de negocio, la reingeniería es ejercida por especialistas de negocio (frecuentemente empresas de consultoría). A nivel de software, la reingeniería es ejecutada por ingenieros del software. ¿ Por qué es importante? Vivimos en un mundo en constante cambio. Las demandas de funciones de negocios y de tecnología de información que las soportan están cambiando a un ritmo que impone mucha presión competitiva en todas las organizaciones comerciales. Tanto los negocios como el software que soportan (o es) el negocio deberán diseñarse una vez más para mantener el ritmo.
  • 6. El proceso de reingeniería del Software:
  • 7.
  • 8. REINGENIERIA DE PROCESOS DE NEGOCIOS. * La reingeniería constituye una recreación y reconfiguración de las actividades y procesos de la empresa, lo cual implica volver a crear y configurar de manera radical él o los sistemas de la compañía a los efectos de lograr incrementos significativos, y en un corto período de tiempo, en materia de rentabilidad, productividad, tiempo de respuesta, y calidad, lo cual implica la obtención de ventajas competitivas. * Reingeniería es el rediseño rápido y radical de los procesos estratégicos de valor agregado y de los sistemas, las políticas y las estructuras organizacionales que los sustentan para optimizar los flujos de trabajo y la productividad de una organización.
  • 9. Procesos de negocios: Un proceso de negocio es un conjunto de tareas lógicamente relacionadas que se llevan a cabo para obtener un determinado resultado de negocio. Qué es un Proceso de Negocios ? Eso, eso, eso…
  • 10. Procesos de Negocios. Entre los ejemplos de negocio se incluyen el diseño de un nuevo producto, la adquisición de servicios y suministros, la contratación de nuevos empleados o el pago a proveedores. Cada una requiere un conjunto de tareas y se basa en diversos recursos dentro del negocio.
  • 11. Cada proceso de negocio posee un cliente bien definido -una persona o grupo que recibe el resultado (por ejemplo: una idea, un informe, un diseño, un producto X . Además, los procesos de negocio cruzan los límites organizativos. Requieren que distintos grupos de la organización participen en las «tareas lógicamente relacionadas » que definen el proceso. Todo sistema es en realidad una jerarquía de subsistemas.
  • 12. Cada uno de los sistemas de negocios (también llamados función de negocios) están compuestos por uno o más procesos de negocio, y cada proceso de negocio está definido por un conjunto de subprocesos. La RPN se puede aplicar a cualquier nivel de la jerarquía, pero a medida que se amplía el ámbito de la RPN (esto es, a medida que se asciende dentro de la jerarquía) los riesgos asociados a la RPN crecen de forma dramática. Por esta razón, la mayor parte de los esfuerzos de la RPN se centran en procesos o subprocesos individuales. Principios de reingeniería de procesos. En muchos aspectos, la RPN tiene un objetivo y un ámbito idéntico al proceso de la ingeniería de la información . Lo ideal sería que la RPN se produjera de forma descendente, comenzando por la identificación de los objetivos principales del negocio, y culminando con una especificación mucho más detallada de las tareas que definen un proceso específico de negocios. Hammersugiere una serie de principios que nos guiarán por las actividades de la RPN cuando se comienza en el nivel superior (de negocios):
  • 13. Organización en torno a los resultados, no en torno a las tareas: Hay muchas compañías que poseen actividades de negocio compartimentadas, de tal modo que no existe una Única persona (u organización) que tenga la responsabilidad (o el control) de un cierto resultado de negocio. En tales casos, resulta difícil determinar el estado del trabajo e incluso más difícil depurar los problemas de proceso cuando esto sucede. La RPN deberá diseñar procesos que eviten este problema. Hay que hacer que quienes utilicen la salida del proceso lleven a cabo el proceso: El objetivo de esta recomendación es permitir que quienes necesiten las salidas del negocio controlen todas las variables que les permitan obtener esa salida de forma temporalmente adecuada. Cuanto menor sea el número de personas distintas implicadas en el proceso, más fácil será el camino hacia un resultado rápido. Hay que incorporar el trabajo de procesamiento de información al trabajo real que produce la información pura. A medida que la TI se distribuye, es posible localizar la mayor parte del procesamiento de información en el seno de la organización que produce los datos. Esto localiza el control, reduce el tiempo de comunicación y la potencia de computación se pone en manos de quienes tienen fuertes intereses en la información producida.
  • 14. Hay que manipular recursos geográficamente dispersos como si estuviesen centralizados. Las comunicaciones basadas en computadoras se han sofisticado tanto que es posible situar grupos geográficamente dispersos en una misma «oficina virtual». Por ejemplo, en lugar de emplear tres turnos de ingeniería en una única localización, toda la compañía podrá tener un turno en Europa, un segundo turno en Norteamérica y un tercer turno en Asia. En todos los casos, los ingenieros trabajarán durante el día y se comunicarán empleando redes de un elevado ancho de banda. Hay que enlazar las actividades paralelas en lugar de integrar sus resultados. Cuando se utilizan diferentes grupos de empleados para realizar tareas en paralelo, es esencial diseñar un proceso que exija una continuación en la comunicación y coordinación. En caso contrario, es seguro que se producirán problemas de integración. Hay que poner e1 punto de decisión en el lugar donde se efectúa el trabajo, e incorporar el control al proceso. Dentro de la jerga del diseño del software, esto sugiere una estructura organizativa más uniforme y con menos factorización. Hay que capturar los datos una sola vez, en el lugar donde se producen. Los datos se deberán almacenar en computadoras, de tal modo que una vez recopilados no sea necesario volver a introducirlos nunca.
  • 15. Todos y cada uno de los principios anteriores representan una visión dotalmente general» de la RPN. Una vez informados por estos principios, los planificadores de negocios y los diseñadores de procesos deberán empezar a procesar el nuevo diseño. En la sección siguiente, se examinará el proceso de RPN más detalladamente. Un modelo de RPN Al igual que la mayoría de las actividades de ingeniería, la reingeniería de procesos de negocio es iterativa. Los objetivos de negocio, y los procesos que los logran, deberán adaptarse a un entorno de negocio cambiante. Por esta razón, no existe ni principio ni fin en la RPN -se trata de un proceso evolutivo.
  • 16. Modelo de reingeniería de procesos de negocio. Definición del Negocio. Refinamiento e instanciación. Identificación de Procesos. Creación de prototipos. Evaluación de Procesos. Especificación y diseño de Procesos.
  • 17. Advertencias: Es muy frecuente que se exagere la importancia de un nuevo enfoque de negocio - e n este caso, la RPN como si fuese la panacea, para después criticarla con tanta severidad que pase a ser un desecho. A lo largo de los Últimos años, se ha debatido de forma exagerada acerca de la eficacia de la RPN. En un resumen excelente del caso a favor y en contra de la RPN, Weiszexpone su argumento de la manera siguiente: Resulta tentador atacar a la RPN como si se tratase de otra reencarnación de la famosa bala de plata. Desde varios puntos de vista -pensamiento de sistemas, tratamiento de personal, simple historia- habría que predecir unos índices de fallos elevados para el concepto, índices que parecen ser confirmados por la evidencia empírica. Para muchas compañías parece que la bala de plata no da en el blanco. Para otras, sin embargo, el nuevo esfuerzo de la reingeniería ha tenido evidentemente su fruto ... La RPN puede funcionar, si es aplicada por personas motivadas y formadas, que reconozcan que el proceso de reingeniería es una actividad continua. Si la RPN se lleva a cabo de forma efectiva, los sistemas de información se integran mejor con los procesos de negocios..
  • 18. Dentro del contexto de una estrategia más amplia de negocios se puede examinar la reingeniería de aplicaciones más antiguas, y también se pueden establecer de forma inteligente las prioridades de reingeniería del software Aunque la reingeniería de negocio sea una estrategia rechazada por una compañía, la reingeniería del software es algo que debe hacerse. Existen decenas de millares de sistemas heredados -aplicaciones cruciales para el éxito de negocios grandes y pequeños- que se ven afectados por una enorme necesidad de ser reconstruidos o rehechos en su totalidad. Reingeniería del Software: Este escenario resulta sumamente conocido: Una aplicación ha dado servicio y ha cubierto las necesidades del negocio de una compañía durante diez o quince años. A lo largo de este tiempo, ha sido corregida, adaptada y mejorada muchas veces. Las personas se dedicaban a esta tarea con la mejor de sus intenciones, pero las prácticas de ingeniería del software buenas siempre se echaban a un lado (por la urgencia de otros problemas). Ahora la aplicación se ha vuelto inestable. Sigue funcionando, pero cada vez que intenta efectuar un cambio se producen efectos colaterales graves e inesperados.
  • 19. La imposibilidad de mantener el software no es un problema nuevo. De hecho, el gran interés por la reingeniería del software ha sido generado por un «iceberg» de mantenimiento de software que lleva creciendo desde hace más de treinta años. Qué se puede hacer? Mantenimiento del software: Hace casi treinta años, el mantenimiento del software se caracterizaba por ser como un «iceberg». Esperábamos que lo que era inmediatamente visible fuera de verdad lo que había, pero sabíamos que una enorme masa de posibles problemas y costes yacía por debajo de la superficie. A principios de los años 70, el iceberg de mantenimiento era lo suficientemente grande como para hundir un portaaviones. En la actualidad podría hundir toda la Armada.
  • 20. El mantenimiento del software existente puede dar cuenta de más del 60 por 100 de las inversiones efectuadas por una organización de desarrollo, y ese porcentaje sigue ascendiendo a medida que se produce más software. Los lectores que tengan menos conocimientos en estos temas podrían preguntarse por qué se necesita tanto mantenimiento, y por qué se invierte tanto esfuerzo. Gran parte del software del que dependemos en la actualidad tiene por término medio entre diez y quince años de antigüedad. Aun cuando estos programas se crearon empleando las mejores técnicas de diseño y codificación conocidas en su época (y la mayoría no lo fueron), se crearon cuando el tamaño de los programas y el espacio de almacenamiento eran las preocupaciones principales. A continuación, se trasladaron a las nuevas plataformas, se ajustaron para adecuarlos a cambios de máquina y de sistemas operativos y se mejoraron para satisfacer nuevas necesidades del usuario; y todo esto se hizo sin tener en cuenta la arquitectura global. El resultado son unas estructuras muy mal diseñadas, una mala codificación, una lógica inadecuada, y una escasa documentación de los sistemas de software que ahora nos piden que mantengamos en marcha ...
  • 21. La naturaleza ubicua del cambio subyace en todos los tipos de trabajo del software. El cambio es algo inevitable cuando se construyen sistemas basados en computadoras; por tanto debemos desarrollar mecanismos para evaluar, controlar y realizar modificaciones. Un modelo de procesos de reingeniería del software: La reingeniería requiere tiempo; conlleva un coste de dinero enorme y absorbe recursos que de otro modo podrían emplearse en preocupaciones más inmediatas. Por todas estas razones, la reingeniería no se lleva a cabo en unos pocos meses, ni siquiera en unos pocos años. La reingeniería de sistemas de información es una actividad que absorberá recursos de las tecnologías de la información durante muchos años. Esta es la razón por la cual toda organización necesita una estrategia pragmática para la reingeniería del software. Una estrategia de trabajo también acompaña al modelo de procesos de reingeniería. Más adelante, en esta misma sección, se describirá este modelo, pero veamos en primer lugar algunos de los principios básicos. La reingeniería es una tarea de reconstrucción, y se podrá comprender mejor la reingeniería de sistemas de información si tomamos en consideración una actividad análoga: la reconstrucción de una casa. Consideremos la situación siguiente:
  • 22. Suponga que ha adquirido una casa en otro lugar. Nunca ha llegado a ver la finca realmente, pero la consiguió por un precio sorprendentemente reducido, advirtiéndosele que quizá fuera preciso reconstruirla en su totalidad. ¿Cómo se las arreglaría? Antes de empezar a construir, sería razonable inspeccionar la casa. Para determinar si necesita una reconstrucción, usted (o un inspector profesional) creará una lista de criterios para que la inspección sea sistemática. Antes de derribar y de construir toda la casa, asegúrese de que la estructura está en mal estado. Si la casa tiene una buena estructura, quizá sea posible remodelarla sin reconstruirla (con un coste muy inferior y en mucho menos tiempo). Antes de empezar a reconstruir, asegúrese de que entiende la forma en que se construyó el original. Eche una ojeada por detrás de las paredes. Comprenda el cableado, la fontanería y los detalles internos de la estructura. Aunque vaya a eliminarlos todos, la idea que haya adquirido de ellos le servirán de mucho cuando empiece a construirla. Si empieza a reconstruir, utilice tan solo los materiales más modernos y de mayor duración. Quizá ahora le cuesten un poquito más, pero le ayudarán a evitar un mantenimiento costoso y lento en fecha posterior. Si ha decidido reconstruir, tenga una actitud disciplinada. Utilice prácticas que den como resultado una gran calidad -tanto hoy como en el futuro.
  • 23. Aunque los principios anteriores se centran en la reconstrucción de una casa, son aplicables igualmente a la reingeniería de sistemas y aplicaciones basados en computadoras. Para implementar estos principios, se aplica un modelo de proceso de reingeniería del software que define las seis actividades mostradas en la Figura 30.2. En algunas ocasiones, estas actividades se producen de forma secuencial y lineal, pero esto no siempre es así. Por ejemplo, puede ser que la ingeniería inversa (la comprensión del funcionamiento interno de un programa) tenga que producirse antes de que pueda comenzar la reestructuración de documentos. El paradigma de la reingeniería mostrado en la figura es un modelo cíclico. Esto significa que cada una de las actividades presentadas como parte del paradigma pueden repetirse en otras ocasiones. Para un ciclo en particular, el proceso puede terminar después de cualquiera de estas actividades. Análisis de inventario. Todas las organizaciones de software deberán disponer de un inventario de todas sus aplicaciones. El inventario puede que no sea más que una hoja de cálculo con la información que proporciona una descripción detallada (por ejemplo: tamaño, edad, importancia para el negocio) de todas las aplicaciones activas.
  • 24. Los candidatos a la reingeniería aparecen cuando se ordena esta información en función de su importancia para el negocio, longevidad, mantenibilidad actual y otros criterios localmente importantes. Es entonces cuando es posible asignar recursos a las aplicaciones candidatas para el trabajo de reingeniería. Es importante destacar que el inventario deberá revisarse con regularidad. El estado de las aplicaciones (por ejemplo, la importancia con respecto al negocio) puede cambiar en función del tiempo y, como resultado, cambiarán también las prioridades para la reingeniería. Un modelo de proceso de reingeniería de software. Ingeniería Directa. Análisis de Inventario. Reestructuración de Datos. ReestructuracióndeDocumentos. Reestructuración de código. IngenieríaInversa.
  • 25. Reestructuración de documentos. Una documentación escasa es la marca de muchos sistemas heredados. Opción 1: La creación de documentación consume muchísimo tiempo. El sistema funciona, y ya nos apañaremos con lo que tengamos. En algunos casos, éste es el enfoque correcto. No es posible volver a crear la documentación para cientos de programas de computadoras. Si un programa es relativamente estático está llegando al final de vida útil, y no es probable que experimente muchos cambios: idejémoslo así! Qué se puede hacer al respecto?
  • 26. Opción 2: Es preciso actualizar la documentación, pero se dispone de recursos limitados. Se utilizará un enfoque «del tipo documentar si se modifica». Quizá no se necesario volver a documentar por completo la aplicación. Más bien se documentarán por completo aquellas partes del sistema que estén experimentando cambios en ese momento. La colección de documentos Útil y relevante irá evolucionando con el tiempo. Opción 3: El sistema es fundamental para el negocio, y es preciso volver a documentarlo por completo. En este caso, un enfoque inteligente consiste en reducir la documentación al mínimo necesario.
  • 27. Ingeniería inversa: Es el proceso de construir especificaciones de un mayor nivel de abstracción partiendo del código fuente de un sistema software o cualquier otro producto (se puede utilizar como punto de partida cualquier otro elemento de diseño, etc.). Estas especificaciones pueden volver ser utilizadas para construir una nueva implementación del sistema utilizando, por ejemplo, técnicas de ingeniería directa. Ventajas de la Ingeniería Inversa: Reducir la complejidad del sistema: al intentar comprender el software se facilita su mantenimiento y la complejidad existente disminuye. Generar diferentes alternativas: del punto de partida del proceso, principalmente código fuente, se generan representaciones gráficas lo que facilita su comprensión. Recuperar y/o actualizar la información perdida (cambios que no se documentaron en su momento).
  • 28. Detectar efectos laterales: los cambios que se puedan realizar en un sistema puede conducirnos a que surjan efectos no deseados, esta serie de anomalías puede ser detectados por la ingeniería inversa. Facilitar la reutilización: por medio de la ingeniería inversa se pueden detectar componentes de posible reutilización de sistemas existentes, pudiendo aumentar la productividad, reducir los costes y los riesgos de mantenimiento. La finalidad de la ingeniería inversa es la de desentrañar los misterios y secretos de los sistemas en uso a partir del código. Para ello, se emplean una serie de herramientas que extraen información de los datos, procedimientos y arquitectura del sistema existente. TIPOS DE INGENIERIA INVERSA. Ingeniería inversa de datos: Se aplica sobre algún código de bases datos (aplicación, código SQL, etc) para obtener los modelos relacionales o sobre el modelo relacional para obtener el diagrama entidad-relación. Ingeniería inversa de lógica o de proceso: Cuando la ingeniería inversa se aplica sobre código de un programa para averiguar su lógica o sobre cualquier documento de diseño para obtener documentos de análisis o de requisitos.
  • 29.
  • 30. Las Herramientas de Inyección de Fallos.
  • 32. Los compiladores Inversos o Decompiladores.
  • 33.
  • 34. Los tipos de reestructuración, básicamente son 2: del código y de datos. Reestructuración del código. La reestructuración del código se lleva a cabo para conseguir un diseño que produzca la misma función pero con mayor calidad que el programa original. Reestructuración de datos. Primero se realiza el ANALISIS del código. Se evalúan las definiciones de los datos, archivos, O/I e Interfaces. Extraer elementos y objetos de datos para obtener información del flujo de datos y comprender la estructura.
  • 35. Ingeniería directa (forward engineering): En un mundo ideal, las aplicaciones se reconstruyen utilizan utilizando un «motor de reingeniería» automatizado. En el motor se insertm’a el programa viejo, que lo analizaría, reestructurm’a y después regeneraría la forma de exhibir los mejores aspectos de la calidad del software. Después de un espacio de tiempo corto, es probable que llegue a aparecer este «motor», pero los fabricantes de CASE han presentado herramientas que proporcionan un subconjunto limitado de estas capacidades y que se enfrentan con dominios de aplicaciones específicos (por ejemplo, aplicaciones que han sido implementadas empleando un sistema de bases de datos específico). Lo que es más importante, estas herramientas de reingeniería cada vez son más sofisticadas. La ingeniería directa, que se denomina también renovación o reclamación, no solamente recupera la información de diseño de un software ya existente, sino que, además, utiliza esta información para alterar o reconstruir el sistema existente en un esfuerzo por mejorar su calidad global. En la mayoría de los casos, el software procedente de una reingeniería vuelve a implementar la funcionalidad del sistema existente, y añade además nuevas funciones y/o mejora el rendimiento global.
  • 36. LA ECONOMIA DE LA REINGENIERIA: En un mundo perfecto, todo programa que no se pudiera mantener se retiraría inmediatamente, para ser sustituido por unas aplicaciones de alta calidad, fabricadas mediante reingeniería y desarrolladas empleando las prácticas de la ingeniería del software modernas. Sin embargo, vivimos en un mundo de recursos limitados. La reingeniería consume recursos que se pueden utilizar para otros propósitos de negocio. Consiguientemente, antes de que una organización intente efectuar una reingeniería de la aplicación existente, deberá llevar a cabo un análisis de costes y beneficios. Se ha propuesto un modelo de análisis de costes y beneficios para la reingeniería. Se definen nueve parámetros: P, = coste de mantenimiento anual actual para una aplicación; P, = coste de operación anual de una aplicación; P, = valor de negocios anual actual de una aplicación; P, = coste de mantenimiento anual predicho después P, = coste de operaciones anual predicho después de P, = valor de negocio actual predicho después de la P, = costes de reingeniería estimados; P, = fecha estimada de reingeniería;
  • 37. P, = factor de riesgo de la reingeniería (P, = 1 ,O es L = vida esperada del sistema. El coste asociado al mantenimiento continuado de una aplicación candidata (esto es, si no se realiza la reingeniería) se puede definir como: Cmant= [P3-(P1+P2)] *L Los costes asociados con la reingeniería se definen empleando la relación siguiente: Creing=[P6 - (P4+P5)] * (L –P8) – (P7 * P9)] Empleando los costes presentados en la ecuaciones (30.1) y (30.2), los beneficios globales de la reingeniería se pueden calcular en la forma siguiente> Beneficio y coste = Creing- Cmant El análisis de costes y beneficios presentados en las ecuaciones anteriores se puede llevar a cabo para todas aquellas aplicaciones de alta prioridad que se hayan identificado durante un análisis de inventario (Sección 30.2.2). Aquellas aplicaciones que muestren el mayor beneficio en relación con los costes podrán destinarse a la reingeniería, mientras que las demás podrán ser propuestas hasta que se disponga de más recursos.