lunes, 20 de mayo de 2013

Descarga AQUÍ EL PLAN DE SOPORTE

Apuntes Web

Reingeniería
¿Qué es la reingeniería de procesos?
La búsqueda e implantación de un cambio radical en el proceso de negocios para lograr resultados e implantación.
Un proceso de negocio es un conjunto de tareas lógicamente relacionadas que se ejecutan para lograr un resultado de negocio específico. Es la reacción de un nuevo proceso enfocado al mismo fin
¿Qué es la reingeniería de software?
De un software ya hecho hacer una seria de mejoras y cambios los cuales no afectan el proceso de negocio al cual pertenezca el software
¿Cuál es la diferencia entre ingeniería de proceso e ingeniería de software?
El proceso se refiere a analizar la gente, equipo, los recursos materiales y los procedimientos del negocio para cambiarlo pero se refieren al mismo fin y la ingeniería de software se enfoca a crear un software sin cambiar el proceso al que pertenece.
¿Cuáles son los elementos del modelo de reingeniería de software?
  • inspeccionar que se va a cambiar
  • analizar si lo que ya está hecho es una base sólida para comenzar la adaptación
  • análisis de inventarios
  • reconstrucción del documento
  • ingeniería inversa
  • restructuración del código
  • restructuración de los datos
  • ingeniería avanzada
¿Cuándo es recomendable la ingeniería de software?
Cuando tenemos un software al cual se le puede dar una mejora o alguna modificación que agilice alguna función sin alterar el proceso de negocio al que pertenece
Reingeniería inversa
Es a partir del código de un sistema obtener todo el plan de desarrollo de un proyecto así teniendo como resultado documentación, análisis, código
Gestión del cambio
¿Qué es un cambio?
Modificar algo en el proceso de desarrollo
¿Qué es la gestión de cambio?
Conjunto de actividades diseñadas para gestionar el cambio al identificar los productos de trabajo que probablemente cambien
¿Quién hace la gestión de cambio?
Todos los involucrados en el proceso de software
¿Cómo se divide la salida de proceso de software?
  1. Programas de computadora
  2. Productos de trabajo
  3. Los datos
¿Cómo se definen los elementos que comprenden la configuración producida como parte del proceso de software?
Colectivamente configuración del software
¿Cuáles son los posibles orígenes de cambio?
Nuevas condiciones en el negocio, nuevas necesidades del cliente, reorganización o crecimiento del negocio, restricciones presupuestales
¿Cuáles son los participantes en un escenario gcs?
Gestor de proyecto, gestor de configuración, ingenieros responsables del desarrollo y mantenimiento y el cliente
¿Cuál es la meta del gestor de configuración?
Garantizar que se siguen los procedimientos políticos para crear cambios y poner a prueba el código, así como posibilitar, el acceso a la información
¿Qué determina las funciones en los sistemas de gc?
Determinan la funcionalidad requerida de un sistema de gc
¿Qué es un elemento de la configuración del software?
Información que se crea como parte del proceso, una gran especificación, o caso de prueba
¿Qué es una línea base?
Especificación o producto que se ha revisado y se está de acuerdo con los resultados
Características de las gcs
  • Versiones.- el deposito debe ser capaz de guardar todas las versiones
  • Gestión de seguimiento de la dependencia y cambio
  • Seguimiento de requisitos
  • GC
  • Rutas de auditoria
Control de la versión
  1. Base de datos del proyecto
  2. Gestión de versión
  3. Facilidad de lectura
Control de cambio
Autoriza el cambio, ACCC
Persona o grupo que toman la decisión final acerca del estudio y prioridad del cambio, se genera un ocl en la ingeniería
¿Qué es el control de acceso?
Serie de ingenieros que están autorizados para ingresar y modificar un objeto de configuración en particular.
Costes de cambios

Deposito
Conjunto de mecanismos y estructuras de datos que permite que un equipo maneje el cambio de una forma eficaz
  • Integridad de datos
  • Compartir información
  • Integración de herramientas
  • Fortalecimiento de metodología
  • Estandarización de documentos
¿Qué diferencia hay entre una versión y un cambio?
Una versión contiene objetos de configuración que se crea durante el proceso de software y un cambio es modificar algo en el proceso de desarrollo
Calidad
Conjunto de atributos o propiedades de un objeto que nos permiten emitir un juicio de valor acerca de él. Se habla de la nula poca buena o excelente calidad de un objeto.
  • Etapa 1 : supervisión
  • Etapa 2: estadística
  • Etapa 3: alta gerencia, costos, administración
  • Etapa 4: estadística competitiva

martes, 5 de febrero de 2013

MiniQuest de Soporte de Software

Equipo:
EVOTECK

Integrantes:
Diaz Rodriguez Julio
Esquivias Ramirez Juan Carlos
Juarez Bouchan Leonardo
Ponce Martínez Manuel Alejandro
Rivera Cano Jose Luis

Esta vez vamos a realizar un MiniQuest que consta de 3 fases o actividades.

Para la actividad 1 del MiniQuest proponemos lo siguiente:

Vamos a analizar el siguiente caso; Una casa que en el interior cuenta con diversas funcionalidades, tales son:
Calefacción, Aire acondicionado, Plomería, Sistema eléctrico, electrodomésticos, piso, paredes y muebles.

La calefacción se compone del horno o mejor llamado caldera de calefacción, también se tiene una chimenea dentro del hogar; En la parte del aire acondicionado se tienen ventiladores en el techo, y como acondicionadores enfriadores por evaporación  En la parte de plomería se tienen alguno desagües de lavabos obstruidos y en la cocina hay una llave de agua que gotea; Como parte del sistema eléctrico falta restaurar algunos interruptores y reemplazar fusibles.

En la parte de de electrodomésticos se cuenta con diversos dispositivos como son:
Lavaplatos, secadora, congelador, triturador, estufa, lavadora, pantalla led, entre otros.

No hay que olvidar que debemos analizar la parte exterior de nuestra casa; Aquí vamosa encontrar el jardín, el garage, y toda la fachada de nuestro inmueble.

En base a la información que has leído, realiza la actividad numero 2
Para la actividad 2 se tiene que responder a las siguientes preguntas:

1.- ¿Que es el mantenimiento?

2.-¿Para que se realiza el mantenimiento?

3.- ¿Que podríamos hacer un mantenimiento para el interior de la casa?

4.- ¿Para el exterior que se puede hacer?

5.-¿Que ventajas existen al hacer un mantenimiento?

6.-¿Cuantos tipos de mantenimiento de software existen, y cuales son?

7.-¿A que se refiere el mantenimiento correctivo?

8.-¿En que se basa el mantenimiento adaptativo?

9.-¿En que consiste el mantenimiento perfectivo?

10.-¿Que es el mantenimiento preventivo?

11.-¿Cual es la importancia del mantenimiento de software?

12.-¿Que técnicas de mantenimiento implementarías en la problemática?

13.-¿En que se diferencia el mantenimiento al soporte de software?

14.-¿Entonces que es el soporte?

15.-¿Cual es la diferencia entre los diferentes tipos de mantenimiento? Escribe un ejemplo.

Para la actividad numero 3, se te pide que realices un diagrama del mantenimiento de software, para eso te brindamos una herramienta con la cual podrás hacer de forma adecuada el diagrama:

Paso 1: Entrar el sig. Cmaptools y descargar.

Paso 2: Abrir el .exe e instalar.

Paso 3: Realizar el diagrama.

Referencias:

BASILI, V. et. al 1995
Understanding and Predicting the process of Software Maintenance
Releases. University of Maryland, College Park, MD.

CHAPIN, N., HALE, JE., KHAN, K. MD., RAMIL, J.F, AND TAN, W. 2001.
Types of software evolution and software maintenance. Journal of software maintenance and evolution. Research and practice 13.

MATENA, V. HAPNER, M. AND STEARNS, B. 2000. Applying the enterprise JavaBeans: Component-Based Development for the J2EE.

martes, 1 de enero de 2013

Mantenimiento de Software (Miniquest).

Introducción.


El 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. Se estima que hay más de 100 millones de líneas de código en producción en el mundo. Como hasta el 80% de la misma no está estructurado, parcheado y no está bien documentada. El mantenimiento puede aliviar estos problemas. 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.


Hay cuatro tipos de mantenimiento: Correctivo, Adaptativo, Perfectivo y Preventivo.
  • El mantenimiento correctivo es la reparación de vicios o defectos encontrados. Un defecto puede resultar de errores de diseño, errores lógicos y los errores de codificación. Los errores de diseño ocurrir cuando, por ejemplo, los cambios realizados en el software son incorrectos, incompleto, mal comunicados o la solicitud de cambio es incomprendido. Los errores lógicos son el resultado de las pruebas no válidas y las conclusiones, la aplicación incorrecta de diseño especificaciones, el flujo de la lógica defectuosa o incompleta de los datos de prueba. Los errores de codificación son causados ​​por aplicación incorrecta de la lógica de diseño detallado y el uso incorrecto del código fuente lógica. Los defectos también son causados ​​por errores de procesamiento de datos y errores de rendimiento del sistema. Todos estos errores, a veces llamados "errores residuales" o "errores", evitar que el software conforme a sus especificaciones acordadas. La necesidad de mantenimiento correctivo es generalmente iniciado por los informes de error formuladas por los usuarios finales. Algunos ejemplos de mantenimiento correctivo incluyen la corrección de la falta de pruebas para todas las posibles condiciones o una incapacidad para procesar el último registro en un archivo.

  • El mantenimiento adaptativo consiste en la adaptación del software a los cambios en el medio ambiente, tales como el hardware o el sistema operativo. El término entorno en este contexto se refiere a la totalidad de todas las condiciones e influencias que actúan desde fuera sobre el sistema, para ejemplo, reglas de negocio, las políticas gubernamentales, los patrones de trabajo, software y hardware plataformas de explotación. La necesidad de mantenimiento adaptativo puede sólo ser reconocido por la vigilancia del entorno. Un ejemplo de una política de gobierno que puede tener un efecto en un sistema de software es la propuesta de contar con una "moneda única europea», la ECU. La aceptación de este cambio requerirá que los bancos en los distintos Estados miembros, por ejemplo, hacer significativo cambios en sus sistemas de software para dar cabida a esta moneda. Otros ejemplos son una implementación de un sistema de gestión de base de datos para un sistema de aplicación existente y el ajuste de los dos programas para que utilice las mismas estructuras de registro. Un estudio de caso sobre la adaptación mantenimiento de "B4Ucall 'una aplicación de Internet es otro ejemplo. B4Ucall es una aplicación de Internet que ayuda a comparar los paquetes de telefonía móvil ofrecido por distintos proveedores de servicios. En un estudio sobre B4Ucall, se discute que la adición o eliminación de un proveedor de servicio completo de nuevo en la aplicación de Internet requiere mantenimiento adaptativo en el sistema.

  •  El mantenimiento perfectivo se ocupa principalmente de acomodar a usuarios nuevos o modificados requisitos. Mantenimiento perfectivo se refiere a mejoras funcionales para el sistema y actividades para incrementar el rendimiento del sistema o para mejorar su interfaz de usuario. Una pieza de éxito de software tiende a ser sometido a una sucesión de 7 cambios, resultando en un incremento en el número de requisitos. Esto se basa en la premisa de que a medida que el software se vuelve útil, los usuarios tienden a experimentar con nuevos casos más allá del alcance para el que fue desarrollado inicialmente. Ejemplos de mantenimiento perfectivo incluyen modificar el programa de nóminas para incorporar un asentamiento nuevo sindicato, la adición de un nuevo informe en el sistema de análisis de ventas, la mejora de una terminal de diálogo para que sea más fácil de usar, y la adición de una ayuda en línea comando.

  • El mantenimiento preventivo se preocupa por actividades de mantenimiento destinadas a incrementar la del sistema mantenimiento, tales como la actualización de la documentación, la adición de comentarios, y la mejora de la estructura modular del. El efecto a largo plazo de las medidas correctoras, cambios adaptativos y perfectivo aumenta la complejidad del sistema. Como un gran programa es continuamente cambiado, su complejidad, lo que refleja deterioro de la estructura, los aumentos a menos que el trabajo se hace para mantener o educirlo. Este trabajo se conoce como cambio preventivo. El cambio se inicia generalmente desde dentro de la organización de mantenimiento con la intención de programas que hacen más fácil de entender y por lo tanto, facilitar los trabajos de mantenimiento futuro. Ejemplos de cambio preventivo incluyen la reestructuración y optimización de código y actualización documentación.

Entre estos cuatro tipos de mantenimiento, sólo el mantenimiento correctivo es  mantenimiento "tradicional". Los otros tipos se pueden considerar "evolución" del software. La evolución a largo plazo se ha utilizado desde la década de 1960 para caracterizar la dinámica de crecimiento de software. La evolución del software es ampliamente utilizado en el mantenimiento del software comunidad. Por ejemplo, el diario de mantenimiento de software añadido el término.



La importancia del mantenimiento del software como software de sistemas envejecen, se vuelve cada vez más difícil mantenerlos 'en funcionamiento' sin mantenimiento. Las siguientes historias muestran la importancia del software mantenimiento de fase en el ciclo de vida de desarrollo. Las tarifas por mascotas perdidas Toronto costará 700.000 dólares   "... la ciudad [de Toronto] perdió por casi 700.000 dólares en honorarios de mascotas [en 2000] porque casi la mitad de perro de Toronto y los dueños de gatos nunca se facturaron [debido a informatizado facturación fallo del sistema]. El personal que sabía cómo manejar el sistema de facturación computarizado fue despedido. [...] Sólo un empleado de la ciudad comprendido nunca el sistema lo suficientemente bien como para depurarlo cuando surgían problemas. Ese empleado sin dejar a nadie para que funcione de nuevo cuando el sistema se metió en problemas y se desplomó. "(Bowker [2001]) 8 Reino Unido y Y2K: $ 50 mil millones "La Prensa Asociada hoy [14 de abril 1997] informa de que Robin Guenier, jefe de TaskForce del Reino Unido de 2000, estima que los esfuerzos del Y2K reprogramación tendrá un costo de Gran Bretaña 50 billones de dólares, tres veces los cálculos aproximados de los consultores de negocios y computación las empresas de servicios. Guenier sugirió que 300.000 personas podrían ser obligados a hacer frente a la problema. Coincidentemente, ese número es más o menos equivalente a la cantidad de tiempo completo profesionales de la informática en el Reino Unido. " La primera historia implica la necesidad de mantenimiento correctivo. Se estima que hay Son más de 100 millones de líneas de código en la producción en el mundo, y hasta el 80% de que no está estructurado, remendada y documentado mal (van Vliet [2000]). Es necesario mantener estos sistemas de software operacional. Errores y defectos de diseño de software debe ser corregida. Alternativamente, la segunda historia es un ejemplo de un cambio adaptativo para el Y2K ambiente. Los sistemas también deben adaptarse a los cambios del entorno y el usuario necesidades requisito.

   De hecho, una proporción sustancial de los recursos asignados dentro de la Información Industria de la tecnología se dirige hacia el mantenimiento de sistemas informáticos. Software Anual costo de mantenimiento en los Estados Unidos se ha estimado en más de $ 70 mil millones para diez mil millones de líneas de código existente (Sutherland [1995]). A nivel de empresa, Nokia Inc.

Utilizado alrededor de $ 90 millones para prevención de errores Y2K correcciones. Muchos estudios se han hecho para investigar el costo de mantenimiento de software proporcional, en otras palabras, la relación costo de nuevo desarrollo frente a mantenimiento. El coste total de mantenimiento del sistema se estima que comprenden al menos 50% de los costes totales del ciclo de vida. Los costes de mantenimiento proporcionales variar de 49% para un producto farmacéutico empresa al 75% para una empresa de automóviles en algunos estudios.

El mantenimiento correctivo representaron poco más de 20% del total, en el promedio. Mantenimiento adaptativo representaron poco menos de 25%. Perfectivo mantenimiento representaron más del 50%. En particular, las mejoras para los usuarios representaron El 42% del esfuerzo total de mantenimiento. Sólo el 5% se gastó en mantenimiento preventivo actividades.


Técnicas del Mantenimiento del Software


Dentro de la ingeniería del software se proporcionan soluciones técnicas que permiten abordar el mantenimiento de manera que su impacto en coste dentro del ciclo de vida sea menor. Las soluciones técnicas pueden ser de tres tipos:

  1. Ingeniería inversa: Análisis de un sistema para identificar sus componentes y las relaciones entre ellos, así como para crear representaciones del sistema en otra forma o en un nivel de abstracción más elevado.
  2. Reingeniería: Modificación de un producto software, o de ciertos componentes, usando para el análisis del sistema existente técnicas de ingeniería inversa y, para la etapa de reconstrucción, herramientas de ingeniería directa, de tal manera que se oriente este cambio hacia mayores niveles de facilidad en cuanto a mantenimiento, reutilización, comprensión o evolución.
  3. Reestructuración del software: Cambio de representación de un producto software, pero dentro del mismo nivel de abstracción.

El objetivos de estas técnicas es proporcionar métodos para reconstruir el software, ya sea reprogramándolo, redocumentándolo, rediseñándolo, o rehaciendo alguna/s característica/s del producto. La diferencia entre las soluciones descritas radica en cuál es el origen y cuál es el destino de las mismas (producto inicial y/o producto final).

Gráficamente, estas tres soluciones técnicas se enmarcan en el ciclo de vida de la siguiente manera:



Figura 1. Relaciones entre los términos asociados con la Reingeniería.


La Ingeniería directa corresponde al desarrollo del software tradicional. La Ingeniería Inversa es el proceso de análisis de un sistema para identificar sus componentes e interrelaciones y crear representaciones del sistema en otra forma o a un nivel más alto de abstracción. La Reingeniería es el examen y la alteración de un sistema para reconstruirlo de una nueva forma y la subsiguiente implementación de esta nueva forma. La Reestructuración es la modificación del software para hacerlo más fácil de entender y cambiar.

La reingeniería hace referencia a un ciclo, esto es, se aplican técnicas de ingeniería inversa para conseguir representaciones de mayor abstracción del producto y sobre ellas se aplican técnicas de ingeniería directa para rediseñar o reimplementar el producto.

Cualquiera de estas técnicas se puede aplicar a lo largo de todas las fases del ciclo de vida o bien entre algunas de sus fases.

También existen otras tecnologías, como por ejemplo:

  • La remodularización: consiste en cambiar la estructura modular de un sistema de forma que se obtenga una nueva estructura siguiendo los principios del diseño estructurado.
  • Análisis de la facilidad de mantenimiento: normalmente la mayor parte del mantenimiento se centra relativamente en unos pocos módulos del sistema.
  • Visualización: el proceso más antiguo para la comprensión del software.
  • Análisis y mediciones: son importantes tecnologías que estudian ciertas propiedades de los programas. 

Cuestionario.


Para una mayor comprensión del tema, se recomienda contestar las siguientes preguntas.


1.       ¿Qué es el mantenimiento de Software?


2.       ¿Para qué nos sirve el mantenimiento de Software?



3.       ¿Cuántos tipos de mantenimiento de Software existen?



4.       ¿En qué consiste el mantenimiento correctivo?


                  5.       ¿En qué consiste el mantenimiento adaptativo?



6.       ¿En qué consiste el mantenimiento perfectivo?



7.       ¿En qué consiste el mantenimiento preventivo?



8.       ¿Cuál es la importancia del mantenimiento de Software?


Actividad.