Está en la página 1de 8

Repblica Bolivariana de Venezuela

Ministerio del Poder Popular Para la Educacin Universitaria, ciencia y tecnologa


Universidad Politcnica Territorial de Paria Luis Mariano Rivera
P.N.F Ingeniera en Informtica
Municipalizacin Cajigal
Yaguaraparo Estado-Sucre

MANTENIMIENTO Y RE_INGENERA DEL SOFTWARE

Facilitadora: Presentado por:


Ing. Julianny Espinoza Gonzlez Mariosky

CI.24.839.379

Seccin 01

Abril, 2016
INTRODUCCIN

Conforme el software ha venido evolucionando al pasar de los aos y se ha dividido en


pocas, como la crisis del software que se produce por la introduccin del hardware., debido a
que este dejo de ser impedimento para el desarrollo del software y as reducir costos y mejorar la
calidad y eficiencia del mismo. Lo que dificulta su realizacin.

Luego de esta crisis se crearon estndares de desarrollo del software el cual fue
establecido para obtener mayor fiabilidad y eficiencia en el software para obtener resultados en
cuanto a trminos econmicos se refiere.

La reingeniera de software es la actividad con que se pretende solucionar los problemas


a las organizaciones que tienen problemas por la mala aplicacin de los estndares antes
mencionados. La reingeniera de software pretende aislar a los sistemas que son imposibles de
mantener, sin antes extraer todo el conocimiento que permitan crear un nuevo sistema fiable,
eficiente y de fcil mantenimiento.

En muchas ocasiones la reingeniera de software pasa a ser la nica solucin a sistemas


con baja calidad.

Los puntos a tratar a continuacin son los siguientes:

Mantenimiento y re_ingera del software


Fundamentacin terica del mantenimiento
Caractersticas de mantenimiento
Fundamentacin terica de la Re_ingeniera y por ultimo Tcnicas de re_ingenera e ingenera
de reverso.
Mantenimiento de software:

En ingeniera del software, el mantenimiento de software es la modificacin de un


producto de software despus de la entrega, para corregir errores, mejorar el rendimiento, u otros
atributos.

Se puede decir; que es tambin una de las fases en el ciclo de vida de desarrollo de
sistemas (SDLC, sigla en ingls de system development life cycle), que se aplica al desarrollo de
software. La fase de mantenimiento es la fase que viene despus del despliegue
(implementacin) del software en el campo

De igual manera el mantenimiento del software es una actividad muy amplia que incluye
la correccin de errores, mejoras de las capacidades, eliminacin de funciones obsoletas y
optimizacin. Debido a que el cambio es inevitable, se debe desarrollar mecanismos para la
evaluacin, controlar y hacer modificaciones.

As que cualquier trabajo realizado para cambiar el software despus de que est en
operacin es considerado trabajo de mantenimiento. El propsito es preservar el valor del
software sobre el tiempo. El valor puede ser mejorado ampliando la base de clientes, cumpliendo
requisitos adicionales, siendo cada vez ms fcil de usar, ms eficiente y empleando ms nuevas
tecnologa. El mantenimiento puede abarcar 20 aos, mientras que el desarrollo puede estar entre
1 y 2 aos.

Reingeniera del software:

La reingeniera del software se puede definir como" modificacin de un producto de


software ", o de ciertos componentes usando para el anlisis del sistema tcnicas de re_ingeneria
inversa y, para la etapa de reconstruccin, herramientas de ingeniera directa, de tal manera que
se oriente este cambio a mayores niveles de facilidad en cuanto a mantenimiento, reutilizacin,
comprensin o evaluacin.
Fundamentacin terica del mantenimiento:

El mantenimiento del software y la evolucin de los sistemas fue abordado por primera
vez por Meir M. Lehman en 1969. Durante un perodo de veinte aos, su investigacin condujo
a la formulacin de las leyes de Lehman (Lehman 1997). Principales conclusiones de su
investigacin incluyen que el mantenimiento es realmente un desarrollo evolutivo y que las
decisiones de mantenimiento son ayudadas por entender lo que sucede a los sistemas (y al
software) con el tiempo. Lehman demostr que los sistemas continan evolucionando con el
tiempo. A medida que evolucionan, ellos crecen ms complejos a menos que se toman algunas
medidas como refactorizacin de cdigo para reducir la complejidad.

Caractersticas del mantenimiento:

Entre las caractersticas sobresalientes del mantenimiento del software


destacan:

- El software no envejece.
- El mantenimiento del software supone adaptar el paquete o sistema objeto del mismo a
nuevas situaciones como:

Cambio de hardware.
Cambio de software de base (S.O.).

- Todo sistema software conlleva mejoras o aadidos indefinidamente.

Al cerrar todo proyecto se debe considerar y preveer las normas del mantenimiento del
sistema (tanto en connotaciones hardware como software).
TIPOS DE MANTENIMIENTO:

Mantenimiento preventivo. Consiste en la revisin constante del software para detectar


posibles focos de problemas que puedan surgir en el futuro.
Mantenimiento predictivo. Evala el flujo de ejecucin del programa para predecir con
certeza el momento en el que se producir la falla, y as determinar cundo es adecuado
realizar los ajustes correspondientes.
Mantenimiento correctivo. Corrige los defectos encontrados en el software, y que
originan un comportamiento distinto al deseado. Estas fallas pueden ser de
procesamiento, rendimiento (por ejemplo, uso ineficiente de los recursos de hardware),
programacin (inconsistencias en la ejecucin), seguridad o estabilidad, entre otras.
Mantenimiento adaptativo. Si se requiere cambiar el entorno de uso de la aplicacin
(que incluye al sistema operativo, a la plataforma de hardware o, en el caso de las
aplicaciones web, al navegador), puede ser indispensable modificarla para mantener su
plena funcionalidad en estas nuevas condiciones.
Mantenimiento evolutivo. Es un caso especial donde la adaptacin resulta prcticamente
obligatoria, ya que de lo contrario el programa quedara obsoleto con el paso del tiempo.
Por ejemplo, el cambio de versin en un navegador (muchas veces impuesto sin el
consentimiento del usuario) suele obligar a realizar ajustes en plugins y aplicaciones web.
Mantenimiento perfectivo. Por distintas razones, el usuario puede solicitar el agregado
de nuevas funcionalidades o caractersticas no contempladas al momento de la
implementacin del software. El mantenimiento perfectivo adapta la aplicacin a este
requerimiento.

Fundamentacin terica de la Reingeniera:

Reingeniera es el replanteamiento fundamental y el rediseo de los procesos en los


negocios para lograr mejoras dramticas en medidas de rendimiento que son crticas y
contemporneas, tales como costos, calidad, servicios y rapidez, optimizar los flujos de los
trabajos y la productividad de una organizacin.
Michael Hammer es el originador y principal expositor del concepto de reingeniera, y
fundador del correspondiente movimiento. Escribi un trascendental estudio que apareci en
Harvard Business Review con el ttulo "Reengineering Work: Dont Automate, Obliterate". Es
presidente de Hammer and Company, firma de educacin administrativa y consultora. Fue
nombrado por Business Week como uno de los cuatro maestros sobresalientes en administracin
en los aos 90; acta como conferencista y asesor de administradores ejecutivos de las
principales compaas mundiales, y en sus seminarios de reingeniera asisten millares de
personas anualmente. En fin, es considerado el pionero del movimiento que conocemos como
reingeniera.

Daniel Morris y Joel Brandon, socios de la firma Morris, Tokarski, Brandon and
Company, una firma de consultora en administracin situada en Chicago y especializada en
posicionamiento empresarial y reingeniera, y autores del libro: "Reingeniera: Como aplicarla
con xito en los negocios", ubicados en la vanguardia del movimiento de reingeniera desde que
se enunci ese concepto, llevan ms de 20 aos de experiencia ejecutiva y administrativa en un
amplio rango de industrias. Segn ellos: "Hoy es el momento de la reingeniera. En la actualidad
es uno de los temas ms debatidos en el ambiente de oficinas y fbricas en muchos pases"
(Daniel Morris y Joe Brandon, 1994). Sus actividades de consultora han incluido reingeniera
operacional, planeacin estratgica y tctica, evaluacin operacional, administracin de
proyectos y elaboracin de polticas gubernamentales.

Actualmente han surgido diferentes filosofas y estrategias para mejorar la eficiencia de


los negocios de hoy en da. Una de stas, es la reingeniera, que se basa en el "rediseo radical de
los procesos para efectuar mejoras espectaculares en medidas crticas y actuales de rendimiento,
tales como costos, calidad, servicio y rapidez".
Tcnicas de re_ingenera e ingeniera de reversos:

Reingeniera del software se puede definir como: modificacin de un producto software,


o de ciertos componentes, usando para el anlisis del sistema existente tcnicas de Ingeniera
Inversa y, para la etapa de reconstruccin, herramientas de Ingeniera Directa, de tal manera que
se oriente este cambio hacia mayores niveles de facilidad en cuanto a mantenimiento,
reutilizacin, comprensin o evaluacin. La Ingeniera de Reverso es lo opuesto a la generacin
de cdigo: el cdigo fuente del sistema es examinado, analizado y convertido en entidades en el
repositorio.

Entre las tcnicas de Reingeniera tenemos:

Reestructuracin de Datos:

Esto es reversar el modelo fsico al modelo lgico para obtener el modelo de E-R de la base
de datos, recuperando el diccionario de datos, atributos, entidades, dominios, cardinalidad entre
otros, la mayora de las herramientas CASE del mercado cumplen con esta funcin.

Reestructuracin de Cdigo:

Llevar a cabo esta actividad requiere analizar el cdigo fuente empleando una
herramienta de reestructuracin, de no tener el cdigo fuente disponible puede aplicarse
ingeniera inversa sobre el compilado para obtener el cdigo fuente original siempre y cuando la
licencia del software lo permita, inmediatamente se indican las violaciones de las estructuras de
programacin estructurada u orientada a objetos, y entonces se reestructura el cdigo (esto se
puede hacer automticamente). El cdigo reestructurado resultante se revisa y se comprueba para
asegurar que no se hayan introducido anomalas. Se actualiza la documentacin interna del
cdigo.
CONCLUSIN

El software siempre ha sido y ser lo que le puede dar vida a la computacin; sin el
software, las computadoras seran inservibles y no podran ser utilizadas para ningn beneficio.
Es el software el que realiza los procesos necesarios a los datos introducidos para as obtener
nuevos datos con los que se pueden tomar decisiones, en muchos de los casos, decisiones
crticas.

En cuanto a La reingeniera del software es muy importante para el manteniendo de


aplicaciones que el desarrollo de estos ha sido muy costoso para luego tratar de adaptarlos a sus
necesidades.

La reingeniera permite el desarrollo de aspectos tales como recuperar el diseo,


desarrollar documentacin, convertir cdigo a lenguaje orientado a objetos. Trata de mantener la
funcionalidad del sistema, mantenimiento de los datos, que se estructuraron con una interfaz de
usuario totalmente nueva y que facilite su utilizacin por parte del usuario final con las nuevas
especificaciones.

La reingeniera del software trata de realizar una completa automatizacin del proceso y
as de igual manera puede procesar datos y arrojar resultados, facilita y agiliza las tareas del
hombre.

También podría gustarte