martes, 4 de abril de 2017

Lineas Base

Líneas base

Una línea base es un concepto de gestión de la configuración que lleva a controlar los cambios sin impedir seriamente los cambios justificados. El Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) 610.12/1990 define una línea base como:

Una especificación o producto que se ha revisado formalmente y sobre los que se ha llegado a un acuerdo, y que de ahí en adelante sirve como base para un desarrollo posterior y que puede cambiarse solamente a través de procedimientos formales de control de cambios.

La IEEE define una línea base como:
Una especificación o producto que se ha revisado formalmente y sobre los que se ha llegado a un acuerdo, y que de ahí en adelante sirve como base para un desarrollo posterior y que puede cambiarse solamente a través de procedimientos formales de control de cambios.



domingo, 2 de abril de 2017

Herramientas de configuración del Software

Introducción SCM


La gestión de configuración del software es un conjunto de actividades diseñadas para identificar y definir los elementos en el sistema que probablemente cambien, controlando el cambio de estos elementos a lo largo de su ciclo de vida, siendo uno de los procesos clave para toda organización dedicada a la ingeniería del software.

En la actualidad existe una gran variedad de herramientas que apoyan a este proceso cada una de ella con características propias y que se adaptan a diferentes metodologías de desarrollo.

Control: Se dispone de medios para realizar materialmente una tarea de manera segura.
Gestión: Hay criterios establecidos que hay que seguir en la realización de una tarea.

Desarrollo:


Elementos:

              °Ejecutables.
                       °Código Fuente.
                                °Modelos de datos.
                                         °Modelos de procesos.
                                                       °Especificaciones de requisitos.
                                                                   °Pruebas




Por ejemplo:

Uso de un software de administración de versiones como IBM Rational Team Concert, CVS, Subversion, SourceSafe, ClearCase, Darcs, Plastic SCM.
Introducción de una herramienta para la documentación comunitaria con una administración de cambios, acceso interactivo y foro o alguna plataforma para la comunicación.
Determinar un entorno para el build automático.

Algunos ejemplos de sistemas de gestión de la configuración:

°AccuRev
°Rational ClearCase
°Fossil
°Git
°Harvest (CA)
°Perforce
°Plastic SCM
°Rational Synergy (Telelogic Synergy/CM: Telelogic Synergy (ehem. Synergy/CM, ehem. °CM/Synergy, ehem. CCM)
°Sablime
°SET-LIBER
°Smart Bear
°SpectrumSCM
°Surround SCM
°Subversion
°Trac
°Visual Source Safe (Microsoft)
°Microsoft Team Foundation Server 2010
°Microsoft Visual Studio 2010 ALM


Conclusión:

Con la gestión de Configuración podemos observar el proceso de identificar y definir los elementos en el sistema, controlando el cambio de estos elementos a lo largo de su ciclo de vida, registrando y reportando el estado de los elementos y las solicitudes de cambio, y verificando que los elementos estén completos y que sean los correctos. Pienso que el propósito de la Gestión de Configuración del Software es establecer y mantener la integridad de los productos de software a través del ciclo de vida del proceso de software. 

Bibliografia:

www.map.es Ministerio de Administraciones Públicas.
www.csi.map.es Consejo Superior de Informática (CSI).
MÉTRICA v3 v3 en el CSI.
Gestión de la Configuración en MÉTRICA v3.

Reingeniería de Software

Introducción:

Reingeniería de Software es una forma de modernización para mejorar las capacidades y/o mantenibilidad de los sistemas de información heredados mediante la aplicación de tecnologías y practicas modernas. La Reingeniería de Software ofrece una disciplina de preparación para migrar un sistema de información heredado hacia un sistema evolucionable. El proceso aplica principios de ingeniería para un sistema existente para encontrar nuevos requerimientos.


Desarrollo:

Los objetivos de la reingeniería son:

Proporcionar asistencia automatizada para el mantenimiento.
Reducir los errores y costos del mantenimiento.
Incrementar la intercambiabilidad del grupo de mantenimiento.
Hacer sistemas fáciles de entender, cambiar y probar.
Habilitar la conversión y migración de sistemas.
Reforzar el apego a estándares.
Mejorar la respuesta a peticiones de mantenimiento.
Mejorar el estado de ánimo del grupo de mantenimiento.
Proteger y extender la vida del sistema.
Usar CASE para apoyar sistemas existentes
Re-usar componentes de sistema existentes.
La reingeniería puede ayudar a entender sistemas existentes y descubrir los componentes de software que son comunes en todo el sistema. Estos componentes comunes pueden ser re-usados en el desarrollo (o redesarrollo) de sistemas y así reducir el tiempo y riesgos del desarrollo de sistemas.

REINGENIERÍA DE PROCESOS

Una definición de Reingeniería basada en [Mang 95] y [Hamm 94] sería: es la actividad en el que los procesos son objeto de una revisión fundamental y rediseño radical, para lograr así la optimización de los flujos del trabajo y la productividad de una organización.
Para poder analizar esta definición es necesario también definir lo que es un proceso. "Definimos un proceso de negocios como un conjunto de actividades que recibe uno o más insumos y crea un producto de valor para el cliente." [Hamm 94]
Se dice que durante una reingeniería, los procesos son objeto de una revisión fundamental ya que es necesario realizarse las preguntas básicas sobre su compañía y como funciona sin dar nada por sentado. La reingeniería determina primero qué debe hacer una compañía para después determinar cómo debe hacerlo. Se olvida por completo de lo que es y se concentra en lo que debe ser.

A REINGENIERÍA VS LOS PROGRAMAS DE MEJORA INCREMENTAL

Como ya hemos visto, la reingeniería consiste en un cambio radical y si hay algo que las empresas quieren evitar es el cambio radical. La mejora continua incremental – en contraposición a la Reingeniería de Procesos – está más de acuerdo con la manera como las organizaciones se entienden naturalmente con el cambio. La mejora continua hace hincapié en cambios pequeños, incrementales; el objeto es mejorar lo que una organización ya está haciendo.


Conclusión:

El software siempre ha sido y será lo que le puede dar vida y plusvalía a la computación; sin el software, las computadoras serían inservibles y no podrían ser utilizadas para ningún 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 críticas. 

La reingeniería no es una actividad que se lleva a cabo de la noche a la mañana, además implica una gran inversión de esfuerzo, tiempo y recursos. Es por ello que es necesario planear de una manera muy cuidadosa todo el proceso. Este proceso se inicia con la justificación del proyecto de reingeniería, en el cual se tiene que analizar cada sistema candidato para así obtener una lista de aplicaciones ordenada según sus prioridades. Una vez obtenida la lista, se hace la estimación de costes que serán necesarios para modificar todos los componentes. Por último se comparan los costes con los beneficios esperados.


Bibliografía:

         
AuthorMonografias.com Nicolás Johnatan Flores Carmona
Article title:Reconstrucción de la arquitectura: Una actividad de la reingeniería de software - Monografias.com
Website title:Monografias.com
URL:http://www.monografias.com/trabajos17/reingenieria-software/reingenieria-software.shtml#conclu


Author researchgate.net  1st Juan Carlos Álvarez García &   2nd Montserrat Mateos-Sánchez 6.9 · Universidad Pontificia de Salamanca      

Article title:Metodología de reingeniería del software para la remodelación de aplicaciones científicas heredadas
Website title:researchgate.net
URL:https://www.researchgate.net/publication/39698262_Metodologia_de_reingenieria_del_software_para_la_remodelacion_de_aplicaciones_cientificas_heredadas



AuthorMonografias.com Nicolás Johnatan Flores Carmona
Article title:Reconstrucción de la arquitectura: Una actividad de la reingeniería de software - Monografias.com
Website title:Monografias.com
URL:http://www.monografias.com/trabajos17/reingenieria-software/reingenieria-software.shtml#conclu