domingo, 2 de marzo de 2014

Definición de Reingeniería de Software

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.




DEFINICIÓN


 Tenga en consideración cualquier producto de tecnología que haya adquirido. Lo ve con regularidad, pero está envejeciendo. Se rompe con frecuencia, tarda en  repararse y ya no representa la última tecnología.

Si el producto es de hardware, probablemente lo tirará y se comprará uno nuevo. Pero si es un software personalizado, no dispondrá la opción de tirarlo. Necesitará reconstruirlo. Creará un producto con una funcionalidad nueva, un mejor rendimiento y fiabilidad, y un mantenimiento mejorado. Eso es lo que llamamos reingeniería.

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.

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 el negocio deberán diseñarse una vez más para mantener el ritmo

           



DESAROLLO

Los pasos de la reingeniería de software son los siguientes :

1.     Definir las Metas comerciales.
2.     Identificar y evaluar los procesos de negocios existentes.
3.     Crear Procesos Comerciales revisados que mejoren las metas comerciales.



El Proceso de la Reingeniería del Software

·        Acompaña el análisis de inventarios.
·        La reestructuración de documentos.
·        La ingeniería Inversa.
·        La estructuración de Programas y datos.
·        La ingeniería directa.




Utilizando las mismas prácticas que se aplican en todos los procesos de ingeniería del software se puede saber si un software se ha desarrollado de manera adecuada y son:
Ø  Las revisiones técnicas formales.
Ø  Las revisiones especializadas.
Ø  La comprobación.







REFERENCIAS

·         Sommerville Ian,
               Ingeniería de software, 4° edición,
       Pearson Educación, Ámsterdam 2005

·         Procesos involucrados en la Reingeniería del Software
                   Recuperado el el 2 de Marzo de 2014, de                                      
                   antares.itmorelia.edu.mx/~jcolivares/courses/is11q2/is_reengineering.ppt‎
·         Técnicas del Mantenimiento de Software
                   Recuperado el 2 de Marzo de 2014, de                                      
      http://cnx.org/content/m17439/latest/
·         Mantenimiento de Software
                   Recuperado el el 2 de Marzo de 2014, de                                      

                   http://arielvargasu.blogspot.mx/2010/12/reingenieria-del-software.html

domingo, 9 de febrero de 2014

Definición de soporte de software y tipos de mantenimiento de software

INTRODUCCIÓN

En términos generales, el soporte de software es un rango de servicios que proporcionan asistencia con un determinado software desarrollado por una empresa . Basicamente, los servicios de soporte de software tratan de ayudar al usuario a resolver determinados problemas con algún producto (software terminado).


DEFINICIÓN


 El mantenimiento del software es el proceso general de cambiar un sistema después de que  éste ha sido entregado

  Existen tres tipos diferentes de mantenimiento de software:
           
 ·      Mantenimiento para reparar defectos del software. Por lo general, los errores de código son relativamente baratos de corregir; los errores de diseño son mucho más caros ya que implican reescribir varios componentes de los programas. Los errores de requerimientos son los más caros de reparar debido a que puede ser necesario un rediseño extenso del sistema.
·      Mantenimiento para adaptar el software a diferentes entornos operativos. Este tipo de mantenimiento se requiere cuando cambia algún aspecto del entorno del sistema, como por ejemplo el hardware, la plataforma del sistema operativo u otro software de soporte. El sistema de aplicaciones debe modificarse para adaptarse a estos cambios en el entorno.
·      Mantenimiento para añadir o modificar las funcionalidades del sistema. Este tipo de mantenimiento es necesario cuando los requerimientos del sistema cambian como respuesta a cambios organizacionales o del negocio. La escala de los cambios requeridos en el software es a menudo mucho mayor que en los otros tipos de mantenimiento.


 
       *Ciclo de vida de desarrollo de software

DESAROLLO

 El Servicio de mantenimiento de software es una de las actividades en la Ingeniería de Software y es el proceso de mejorar y optimizar el software desplegado (revisión del programa), así como también remediar los defectos.

El mantenimiento de software es también una de las fases en el Ciclo de Vida de Desarrollo de Sistemas (SDLC ó System Development Life Cycle), que se aplica al desarrollo de software. La fase de mantenimiento es la fase que viene después del despliegue (implementación) del software en el campo.

La fase de mantenimiento de software involucra cambios al software en orden de corregir defectos y dependencias encontradas durante su uso tanto como la adición de nueva funcionalidad para mejorar la usabilidad y aplicabilidad del software

 A continuación se señalan los tipos servicio de mantenimientos existentes, y entre paréntesis el porcentaje aproximado respecto al total de operaciones de mantenimiento:
  • Perfectivo (60%): Mejora del software ( rendimiento , flexibilidad , reusabilidad ..) o implementación de nuevos requisitos. También se conoce como mantenimiento evolutivo .
  • Adaptativo (18%): Adaptación del software a cambios en su entorno tecnológico (nuevo hardware, otro sistema de gestión de bases de datos , otro sistema operativo ...)
  • Correctivo (17%): Corrección de fallos detectados durante la explotación.
  • Preventivo (5%): Facilitar el mantenimiento futuro del sistema (verificar precondiciones, mejorar legibilidad...).
El tiempo con el que se de un mantenimiento dependerá de las necesidades del usuario,y con que frecuencia utiliza su computadora,pero por lo general el mantenimiento a software se da cada semana o cada mes.




REFERENCIAS

·         Sommerville Ian,
               Ingeniería de software, 4° edición,
       Pearson Educación, Ámsterdam 2005

·         Plan de Soporte
                   Recuperado el 9 de febrero de 2014, de                                      
                   http://www.slideshare.net/slideshow/embed_code/21577456
·         Mantenimiento de Software
                   Recuperado el 9 de febrero de 2014, de                                      
                   http://www.sincows.com/sincows/index.php?option=com_content&view=article&id=70&Itemid=68