sábado, 1 de abril de 2017

REINGENIERÍA DE SOFTWARE


Introducción

En este ensayo se explicará que es la Reingeniería de Software y cuales es el objetivo que esta tiene, además se mencionara cuando y en qué casos se emplea, por otro lado, se señalaran los métodos por medio de los cuales funciona. Así mismo se expondrán los pasos que tiene que seguir con el fin de cumplir dichos objetivos y se concluirá mostrando los beneficios que se obtendrán al aplicar esta Reingeniería.

Se entiende por ingeniería de software al cambio aplicado a un sistema ya existente en sus diversos módulos. Estas modificaciones tienen objetivos de mejora, es decir corrigen errores en el sistema o se encargan de dar simplicidad a este para así facilitar tanto el mantenimiento como el funcionamiento.
La aplicación de la reingeniería de software se hace a sistemas los cuales ya tiene un largo tiempo de uso en el cual se ha deteriorado y vuelto inseguro y débil debido a que no se le ha aplicado el correcto mantenimiento, también este deterioro se da debido a todas la modificaciones y adaptaciones que se la han aplicado.
Es decir, la reingeniería de software se encarga de evaluar los sistemas con el fin de reestructúralos para que así estos adquieran mayor calidad.
A nivel de negocio, la reingeniería es ejercida por especialistas de negocio y a nivel de software, la reingeniería es ejecutada por ingenieros del software.

Pasos para aplicar la reingeniería de Software

1.-Formulacion de una estrategia, es decir se debe de identificar cuáles son las nuevas necesidades que hay en el mercado.
2.- Desarrollo de productos
3.- Desarrollo de una capa de manufactura para desarrollar el nuevo producto
4.-Comunicación con el cliente, esto con el fin de averiguar que es lo que desean, lo cual puede ser por medio de entrevistas o cuestionarios

Los beneficios que se obtienen al aplicar este tipo de ingeniería son la reducción de los riesgos al evolucionar una organización, también ayuda a las organizaciones las cuales por distintos motivos están perdiendo la inversión en sus softwares, el cual se vuelve más fácil de modificar y de aplicarle un mantenimiento, incluso también amplia las capacidades de las herramientas CASE.


Las Ingeniera de software implica diferentes actividades tales como:

Análisis de inventarios: Es un modelo el cual contiene toda la información que contiene información detallada las aplicaciones del sistema.
Reestructuración de Documentos: La documentación debe actualizarse, pero se tiene recursos limitados. Se utiliza un enfoque de “documentar cuando se toque”. El sistema es crucial para el negocio y debe volver a documentarse por completo.
Ingeniería Inversa: Proceso de análisis de un programa con el fin de crear una representación con un nivel de abstracción más elevado que el código fuente es decir es un proceso por medio de cual se intenta recuperar el diseño del sistema.
Reestructuración de código: Realizar modificaciones en el código, con el objetivo de mejorar su estructura interna sin alterar su comportamiento externo.
Reestructuración de datos: Se deben de identificar los objetos de datos y atributos, posteriormente se revisas las estructuras de datos con el fin de tener mayor calidad.
Ingeniería directa: Proceso de reconstrucción del software, crear un producto con una mejor funcionalidad, mejor desempeño y fiabilidad, así como una mejor facilidad de mantenimiento. 


Conclusión

Se concluye que la Reingeniería de Software es una buena opción para enfrentar que en la actualidad se realizan cambios constantes tanto en tecnología como en las preferencias y exigencias de las personas las cuales siempre buscan cosas nuevas y mejores, por lo tanto el software para que no se vuelva obsoleto debe de ser mejorado y por lo tanto modificado aplicando la Reingeniería de Software con el fin de satisfacer las necesidades ya sea del cliente o el negocio y así seguir siendo competente respecto a otros softwares nuevos.




Referencias

Garcia, F. (25 de Noviembre de 2015). prezi.com. Obtenido de prezi.com: https://prezi.com/aeooyvvwwllg/reingenieria-de-software/
isoftwareunesum.wordpress.com. (28 de Abril de 2011). Obtenido de isoftwareunesum.wordpress.com: https://isoftwareunesum.wordpress.com/2011/04/28/reingenieria-de-la-ingenieria-del-software/
Norsoft. (s.f.). www.norsoft.com.ar. Obtenido de www.norsoft.com.ar: http://www.norsoft.com.ar/servicios/servicios-reingenieria.html
Sicilia, M.-A. (s.f.). cnx.org. Obtenido de cnx.org: http://cnx.org/contents/jXj8TA20@3/Qu-es-Reingeniera-del-Software



ELEMENTO DE CONFIGURACIÓN DE SOFTWARE


Un elemento de configuración de software es la información elaborada en la parte del proceso de ingeniería, es decir es un componente simple que es una unidad en sí mismo el cual puede definirse y controlarse de forma individual por lo tanto ha logrado un estado estable en el proceso de desarrollo y en consecuencia es insertado dentro del control de configuración, así mismo es la unidad mínima de trabajo de la GCS.

Los siguientes son los elementos de configuración del Software.

  • Especificación del sistema
  • Plan de proyecto
  • Especificación de requisitos
    • Prototipo ejecutable o “en papel”
  • Manual de usuario preliminar
  • Especificación de diseños
    • Descripción del diseño de datos
    • Descripción del diseño arquitectónico
    • Descripciones del diseño de los módulos
    • Descripciones del diseño de interfaces
    • Descripciones de los objetos (si se utilizan técnicas de P.O.O)
  • Listados del código fuente
  • Plan y procedimiento de pruebas
  • Casos de prueba y resultados registrados
  • Manuales de operación de y de instalación
  • Programas ejecutables
    • Módulos, código ejecutable
    • Módulos enlazados
  • Descripción de la base de datos
    • Esquema y estructura de archivos
    • Contenido inicial
  • Manual del usuario final
  • Documentos de mantenimiento
    • Informes de problemas del software
    • Peticiones de mantenimiento
    • Ordenes de cambios e ingeniería
  • Estándares y procedimientos de ingeniería del software


Y para cada uno de estos elementos se almacenará al menos:
  • Nombre
  • Versión
  • Estado
  • Localización


Los siguientes son algunos ejemplos de los elementos de configuración de software
  • Estándares de análisis, diseño, codificación, pruebas, y auditoria
  • Ejecutables. El Código fuente del programa
  • Manual de usuario
  • Prototipos
  • Documentos (Visión, Especif. de CDU, etc.) 


Referencias




Pressman., R. (1993). Ingeniería del Software: un enfoque práctico. McGraw Hill. 
Lewi., I. H. (1989). Specifications in Software Engineering.
ecured. (s.f.). www.ecured.cu. Obtenido de www.ecured.cu: https://www.ecured.cu/Configuraci%C3%B3n_de_Software#Elemento_de_configuraci.C3.B3n_de_software_.28ECS.29