• Like
Ensayo gral
Upcoming SlideShare
Loading in...5
×

Ensayo gral

  • 416 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
416
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. S.E.P. D.G.E.S.T. S.N.E.S.T. INSTITUTO TECNOLÓGICO de Tuxtepec “ENSAYO REINGENIERÍA DE SOFTWARE” CARRERA: Ingeniería en Sistemas Computacionales MATERIA: Reingeniería de software PRESENTAN: Bolaños Duran Juan Carlos Pérez Antonio Julio Cesar Vázquez Gómez Guadalupe Vicente AzamarTimoteo Zarate Castillo Celeste Yamín CATEDRÁTICO: Martínez Morales Ma. de los Ángeles Tuxtepec, Oaxaca; a 14 de Febrero de 2012.ISC – 2010/01 Febrero de 2012
  • 2. CORREONOMBRE DEL ALUMNO NÚMERO DE CONTROL ELECTRÓNICO Bolaños Duran Juan scorpion_03k@hotmail.com Carlos 083503634 Pérez Antonio Julio jcpat_10@hotmail.com Cesar 08350355 Vázquez Gómez Guadalupe lupev_g@hotmail.com 08350380Vicente Azamar Timoteo alkon_1_15@hotmail.com 08350384Zarate Castillo Celeste Yamín celeste_tux@hotmail.com 08350385
  • 3. RESUMENÉste articulo desarrolla y muestra un panorama general del estado de evolución en elque ha estado inmerso a través del tiempo la reingeniería de software, así mismo consu gran importancia e impacto que implico el hecho de haberse potencializado en elmercado del desarrollo de software y de aplicaciones. No obstante el hecho de quehaya tenido un gran auge y aceptación en el mundo quiere decir que dicho procesosiempre se ha mantenido viento en popa, mas bien existieron diversos factores queen vez de afectar su influencia ha repercutido en los grandes beneficios que lareingeniería ha traído consigo. Uno de los grandes beneficios que podemos serparticipes es la innovación de tienen los grandes sistemas que se han idodesarrollando y aplicando dentro de las grandes organizaciones.Palabras clave: Reingeniería, innovación y sistema.
  • 4. ENSAYOINTRODUCCIÓNLa reingeniería de software una disciplina de preparación para migrar un sistemaque evoluciona. El proceso aplica principios de ingeniería para un sistema existentecon el objetivo de encontrar nuevos requerimientos.Existen múltiples referencias al concepto de reingeniería de sistema en toda la web.En las cuales podemos mencionar algunos como Arnold, la definen como “unaactividad que mejora la comprensión del software, o bien, lo prepara o mejora paraincrementar su facilidad de mantenimiento, reutilización o evolución”. Para otroscomo Chikofsky que lo define como “es el examen y la alteración de un sistema parareconstruirlo en una nueva forma y la subsiguiente implementación de esa forma”. Elconcepto de reingeniería está muy relacionado con los conceptos de reutilización,innovación, génesis, desarrollo y así se puede comprobar en los conceptos de Perlisy Biggerstoff en, donde se refieren a la reutilización como la reaplicación de unavariedad de tipos de conocimientos de un sistema a otro ara reducir el esfuerzo dedesarrollo y mantenimiento de ese sistema; es decir, la reutilización está enfocada amejorar la calidad y reducir el esfuerzo haciendo uso de parte de un sistema en unnuevo contexto.(Tosca & Fernández)El presente trabajo desarrolla un breve ensayo acerca de qué es la reingeniería desoftware, la evolución que ha tenido, la importancia que tiene aplicar reingeniería; asicomo también la función que ésta tiene.
  • 5. DESARROLLOLa reingeniería surge por la necesidad de poder realizar cambios en un sistema,permitiendo tener como punto primordial la abstracción esencial del software, estopermite conservar los valores esenciales del sistemaLa reingeniería se divide dependiendo el punto de modificación del sistema, lamodificación puede ser desde en el código fuente o en la interfaz del sistema; es allídonde entra la labor de reingeniar, esto implica una transformación sistemática de unsistema existente a una forma nueva para realizar mejoras de la calidad enoperación, capacidad del sistema, funcionalidad, rendimiento o capacidad deevolución a bajo coste, con el plan de desarrollo corto y bajo riesgo para el cliente.Si el sistema no tiene como características el bajo costo, que no se pueda realizar enpoco tiempo o porque no tiene poco riesgo, se tiene que considerar la posibilidad deun nuevo desarrollo.La reingeniería que hoy conocemos y aplicamos en nuestros productos de softwareha evolucionado rápidamente; y podemos darnos cuenta ya que en tan solo unadécada ha podido completar casi todas las etapas que pasan los enfoques.Lareingeniería de software ha tenido varios nombres como: modernización,transformación, restructuración, rediseño, aunque todos tienen metas comunes:aumentar la capacidad para competir en el mercado mediante la reducción decostos, el incremento en la calidad y una mayor velocidad de respuesta.La evolución y crecimiento de la reingeniería en sus inicios parte de la necesidad delas empresas en rediseñar sus procesos internos en la década de los ochenta; luegoal inicio de los noventa, gracias al éxito que dichas empresas habían tenido al utilizarla reingeniería en sus procesos se logra publicar y divulgar masivamente mediante laventa del libro “Innovación de procesos: reingeniería por medio de la tecnología de lainformación”. En consecuencia de dicho acto muchas mas empresas lograronsumarse al éxito que proveía la reingeniería; pero como todo en este mundo tiene
  • 6. sus limitaciones, cabe señalar que este proceso fue objeto de una fuerte crítica locual mostraba a la luz las limitaciones y los factores que atentaban contra su éxito.Esto dio partida a que muchos críticos dieran sus puntos de vistas personales quelograron influir de manera significativa en las grandes organizaciones, ya quemuchos optaron en modificar radicalmente su entorno competitivo y dinámico en suproceso productivo. También muchos malinterpretaron sus conceptos y esto originóque tan solo el hecho de mencionarla causaba un gran descontento en las personas,ya que ello implicaba una restructuración general y por consiguiente el despido delpersonal.En el plano del software tampoco podemos hacerlo a un lado ya que esa evoluciónestuvo ligada a la llamada crisis del software; lo que provoco la necesidad de crearestándares de desarrollo de software y con ello garantizar software confiable yeficiente, aunque esto tampoco garantiza el éxito permanente de muchasorganizaciones es necesario aplicar la reingeniería de software en las categorías demantenimiento, modernización y remplazo, que estaría fuertemente ligado a larelación costo beneficio.Aplicar reingeniería a los sistemas implica, convencer a la dirección sobre el procesoque ello tiene y la necesidad imperiosa de cambiar, creando a posterioridad uncomité de dirección destinado a hacerse cargo del proyecto de reingeniería.Es allí donde entra a jugar un papel muy importante el término refactorización, la cualse usa a menudo para describir la modificación del código fuente sin cambiar sucomportamiento, lo que se conoce informalmente por limpiar el código. Larefactorización es la parte del mantenimiento del código que no arregla errores niañade funcionalidad. El objetivo, es mejorar la facilidad de comprensión del código ocambiar su estructura y diseño y eliminar código muerto, para facilitar elmantenimiento en el futuro. Añadir nuevo comportamiento a un programa puede serdifícil con la estructura dada del programa, así que un desarrollador puederefactorizarlo primero para facilitar esta tarea y luego añadir el nuevocomportamiento.(Serrano)
  • 7. Hay autores que conciben el proceso de reingeniería de software en dos fasesfundamentales. La primera: comprender el software existente, donde el diseño delsistema se recupera desde su código fuente con actividades como análisis dedependencias, comprensión del programa, detección, extracción y almacenamientodel diseño. La segunda incluye todas las actividades que se realizan paratransformar el software existente en uno más fácil de mantener, entre las cuales cabemencionar descomposición, restructuración, remodularización, redocumentación,etcétera.Existen muchas definiciones(Rodríguez, Márquez, & Toro)de mantenimientomediante las empresas, entra las cuales los autores señalan las siguientes dos:ANSI /IEE: Las modificaciones de los productos software después de su entrega paracorregir fallos, mejorar rendimiento u otros atributos o adaptar el producto a uncambio de entorno.ISO/IEC: Un producto software soporta una modificación en el código y sudocumentación asociada para la solución de un problema o por la necesidad de unamejora. Su objetivo es mejorar el software existente manteniendo su integridad.Muchas veces es adecuado utilizar una refactorización a nuestros productos desoftware sobre todo en este ámbito y a estas alturas donde nos encontramos.Se determina la calidad técnica y el valor de negocio de cada aplicación medular enla empresa, con el objetivo de construir una lista de aplicaciones ordenada según susprioridades en el proceso de reingeniería.Se determina los costos de cada proyectode reingeniería que se vaya a enfrentar: si estos son superiores a los beneficios, lareingeniería no será una opción viable y la aplicación deberá ser desarrollada denuevo o bien adquirirse en el mercado.
  • 8. CONCLUSIÓNPodemos concluir que la reingeniería como hoy la conocemos y aplicamos ennuestro desarrollo de software, a través del tiempo a tenido una grande y rápidaevolución pero que esto a la vez ha tenido un gran impacto en la actualidad; ya quesi nos ponemos a pensar que seria de un programador o desarrollador de software elhecho de producir un nuevo producto desde cero, vaya eso si seria algo sumamentetedioso, bueno pero para esto hoy tenemos a disposición el hacer uso de lareingeniería.La reingeniería va mas allá de una simple ayuda para el mantenimiento. Lareingeniería es el puente desde las viejas hacia las nuevas tecnologías que lasorganizaciones deben usar en la actualidad para responder al cambio derequerimientos del negocio.Los programas se hacen obsoletos al paso del tiempo ya que fueron escritos parahardware y sistemas operativos que ya no existen, donde muchos están llenos decaracterísticas y parches no documentados.Mientras más conocimiento se gestione en la organización y se aprenda de unaforma dinámica y en constante intercambio con el entorno, entonces se tendrán lasbases para saber cuándo es preciso dar un salto cualitativo.La reingeniería de software constituye una poderosa herramienta para posibilitar quenuestras empresas se desarrollen tan rápido como nuestras mentes y losparadigmas tecno-informáticos.
  • 9. BIBLIOGRAFÍA Rodríguez, A., Márquez, A., & Toro, M. (s.f.). Gestión de la evolución del software. El eterno problema de los legacy systems. Serrano, V. C. (s.f.). Refactorización arquitectónico de software a nivel abstracto implementando patrones de diseño. Tosca, F. G., & Fernández, R. M. (s.f.). Reingeniería de software, ¿un camino o el camino?