1. MATERIA:
Reingeniería Del Software
UNIDAD 1:
IN
C
PE
ST
Introducción a la reingeniería del software
TE
IT
TO
U
X
TE TU
C E
N OL O GI C O D TEMA 1.1:
Definición de reingeniería del software
ENSAYO:
Función y beneficio de la reingeniería del software
CATEDRÁTICO:
Maria de los Angeles Martinez Morales
Alumnas:
Cid García Emma ame_dic@hotmail.com
Francisco Vargas Saraicool_2189@hotmail.com
Hernández Manzanilla Ana Grissellgrisel_89_01@hotmail.com
Morales Jerónimo Asela Guadalupe asela_0512@hotmail.com
Blanco Martínez José Luisevilskull95@hotmail.com
Portugal Gómez Lady Diana lady_portugal@hotmail.com
Gómez Pineda Eduardo gope89@hotmail.com
ESPECIALIDAD:
Ingeniería En Sistemas Computacionales
Tuxtepec, Oaxaca a 17 de febrero de 2012
2. Resumen
El tiempo pasa, lo que se actualiza ya no regresa a lo que fue….la tecnología
avanza y no se detiene gracias a esto podemos encontrar diversos medios por el
cual mejorar lo que nosotros queramos y porque no pensar así ya todo lo que hay
es innovador. La reingeniería es eso, mejora un proyecto, para lograr un fin
satisfactorio y de lo creado toma lo mejor que tiene y lo perfecciona aun mas
puesto que la imaginación no tiene límite.
Muchos autores crean enfoques y dan a conocer los diferentes acontecimientos
por las que pasa la reingeniería para que llegue a su desarrollo hay etapas de
éxito pero también hay como todo momentos difíciles pero aun así no dejan de
esforzarse para conseguir sus propósitos. La inteligencia se pelea con lo
innovador…puesto que hay que echar a volar la imaginación; porque de algo ya
echo a de estar cañón identificar lo que le hace falta, claro puesto que se enfrenta
a un sistema que según tiene todo lo necesario y cubre todas las necesidades.
Palabras claves
Reingeniería Crisis del software
Reingeniería del software Pavimentar la acera
Código fuente Baja calidad del software
Critica a la reingeniería Estándares de desarrollo de software
Rediseño Ingeniería de software
Ingeniería inversa Pavimentar la acera
Refactorización Innovar
Automatizar
3. Introducción
En los últimos tiempos se ha utilizado el nombre de reingeniería, esto se debe a
que los diferentes sistemas que están a nuestro alrededor han ido evolucionando
con forme pasa el tiempo. Todos nos preguntamos ¿qué paso dará de nuevo la
tecnología?o ¿qué otro fenómeno extraordinario se va a desarrollar en su
ámbito?; ya que con la tecnología no nos podemos quedar en el pasado, aunque
eso sí, recordar todo lo que se ha venido haciendo en beneficio a estas diversas
formas tan peculiares de evolucionar e ir cambiando generación tras generación
para un bien común. Pero todo lo extraordinario que existe por la tecnología no se
queda solo así, sino que con el tiempo se le hacen nuevas mejoras y en este
punto es en donde entra lo que es la reingeniería del software ahora nos hacemos
la pregunta de ¿Por qué? Bueno la reingeniería surge más que nada por la
necesidad de querer hacer del algo ya creado algo mejor; en pocas palabras
innovarlo y hacer todas las modificaciones no nada más del diseño o de la forma
en cómo se va a ver nuestro sistema sino de cómo va a ser programado por tanto
nos filtraremos a lo que es su código fuente, de ahí extraeremos lo más esencial
y analizaremos en donde le podemos quitar o aumentar código para que sea algo
completamente diferente de lo que era.Buenoasí también podemos dejar en claro
que para que un sistema tenga en mejor desarrollo se deben seguir varias etapas:
La primera fase surge en la década de los ochenta en donde “varias empresas
tienen un vuelco radical en sus negocios por el rediseño de sus procesos”; y así
es como comienzan las fases y llega hasta la cuarta la cual empieza en 1995 es
en donde se le hace una fuerte crítica a la reingeniería y empiezan las personasa
desarrollar experiencias que en cierta forma los limita a llevar a cabo el punto
especifico de esta fase.
4. Desarrollo
La reingeniería surge de la necesidad de cubrir la evolución más amplia de un
sistema, lo cual nos va a llevar a lo que es el rediseño ya que la reingeniería
trabaja todos los tipos de abstracción desde la implementación del sistema hasta
lo que va a ser el diseño. Tenemos en cuenta dos tipos de reingeniería una de
ellas es la modernización de caja blanca(ingeniería inversa): es el proyecto que
esta creado al cual se le van hacer mejoras; ésta es la querequiere de un
conocimiento a bajo nivel de abstracción (código fuente) y la modernización de
caja negra(reingeniería): es el resultado de los mejoramientos que se le hacen al
proyecto; es la que solo requiere “el conocimiento de la interfaz del sistema”.
A la reingeniería también se le puede adoptar el nombre de refactorización esto es
porque las dos nos dan un amplio criterio de lo que se le puede hacer a un
proyecto para poder optimizarlo y sobre todo mejorarlo desde lo que va a ser el
código fuente hasta el diseño.
Para poder desarrollar un buen proyecto y que sobre todo cumpla las condiciones
que implementa la reingeniería se necesitan de diversos enfoques para cubrir las
necesidades que éste pueda producir conforme se adentre a lo que es el sistema.
Unos de sus principales impulsores sobre la reingeniería del software son
hammer y champyquienes escribieron cada uno, un libro en donde plantean todos
sus puntos de vista ya que para ellos éste es uno de los mejores procesos para la
realización de mejoramientos a lo que es un software y porque no también es una
buena manera de obtener la mayor satisfacción en el plan laboral. Al parecer este
termino de reingeniería a muchos nos hace temblar como se menciona en los
libros de los autores mencionados ya que esto causa en muchos ámbitos despido
del personal de la empresa ya que estas se automatizan mas y por lo tanto ya no
requieren de trabajadores puesto que su software hace lo de varias personas
aunque eso si no por decir automatizar se trate de suplantar lo que ya hay sino
que también muchas veces esto no se lleva acabo al cien por ciento,no
confundamos automatizar con reingeniería ya que al parecer son términos un poco
5. diferentes puesto que una empresa puede automatizar un proceso, pero aun así
no lo rediseña esto hace la gran diferencia con lo que es la reingeniería puesto
que esta empieza desde el código que esta implementado hasta lo que es el
diseño por tanto damos como nombre a la automatización de proceso como
”pavimentar la acera” puesto que digamos que no termina lo que empieza sino que
lo deja a medias. Y como sabemos que todo avanza la reingeniería del software
no se podía quedar atrás y esto se enmarca en varias etapas, cabe mencionar una
de ellas que es la famosa crisis del software en donde ya no había impedimento
por medio del hardware para el desarrollo de la informática sino que ahora era
causa del software y estos son unos de los puntos que desato esta crisis:
“imprecisión en la planificación del proyecto y estimación de los costos, baja
calidad del software, dificultad de mantenimiento de programas con un diseño
poco estructurado”. Debido a este acontecimiento se tuvieron que crear
estándares de desarrollo de software, por lo cual surgió lo que hoy llamamos
ingeniería de software, gracias a esto podemos contar con software que sean
confiables y sobre todo que funcionen bien. Aunque al parecer aun no salimos de
esta crisis puesto que en la actualidad existen software no muy confiables y ni
modo más que irse acostumbrando ya que la calidad a veces no se encuentra en
donde sea sino que hay que saber diferenciar lo bueno de lo no tan bueno.
Conclusión
Podemos dar por comprendido este punto a cerca de la reingeniería ya que
cuando se quiera hacer algo innovador ya sabemos a lo que nos referimos. Desde
la perspectiva de informática nos damos ya una idea de las diferentes cualidades
que nos representa la innovación para un proceso y de que realce le podemos dar
hacia lo que puede ser en unos años más y de qué utilidad nos podrá proporcionar
trabajar con lo que es la refactorización.Unas de las perspectivas de nosotros
como futuros ingenieros debe der ser la reingeniería ya que seria un factor
importante dentro de nuestro ámbito profesional debido a que nos vamos a topar
en diferentes situaciones como por ejemplo con la necesidad de realizarle cambios
a un sistema para su mejora y darle así una solución a las necesidades del cliente.
6. Fuentes
COYAZOS, Serrano Víctor. Refactorización arquitectónico a nivel abstracto
implementando patrones de diseño.
GARCÍA, Tosca Fernando Y Rixal Martínez Fernández. Reingeniería del software
¿un camino o el camino?
OLIVERA, et al. RE-INGENIERIA DE UN PAQUETE DE SOFTWARE PARA
ANALISIS DE OBSERVABILIDAD EN DISEÑO DE INSTRUMENTACION
RODRIGUEZ, et al. Gestión de la evolución del software. El eterno problema de
los legacysystems