viernes, 15 de octubre de 2010

Gestión de la Configuración del Software (GCS)

La Configuración del Software

El resultado del proceso de ingeniería del software es una información que se puede dividir en
tres amplias categorías:

1) Programas de computadora (tanto en forma de código fuente como ejecutable).
2) Documentos que describen los programas (tanto técnicos como de usuario).
3) Estructuras de datos (contenidas en el programa o externas a él).

Los elementos que componen toda la información producida como parte del proceso de ingeniería del software se denominan colectivamente "configuración del software". Dado que la configuración software es la única representación tangible de un programa o sistema software, debe ser controlada para conservar su exactitud, mantener la información actualizada, y asegurar una información clara y concisa conforme avanzamos paso tras paso en el proceso de Ingeniería del Software.

El cambio es un hecho vital en el desarrollo del software:
• Los clientes desean modificar los requerimientos.
• El equipo de desarrollo desea modificar el enfoque técnico.
• Los gestores desean modificar el enfoque del proyecto.

La causa de todas estas modificaciones se debe a que, a medida que pasa el tiempo, todo el mundo sabe más (sabe lo que necesita, cómo aproximarse mejor al problema y cómo hacerlo ganando más dinero). Este conocimiento adicional es la fuerza motriz de la mayoría de los cambios.

El cambio se puede producir en cualquier momento y por cualquier razón. Por ejemplo, se generan cambios en las revisiones, que nos llevan a la modificación de los elementos de la configuración (ECSs); durante la fase de desarrollo, se pueden realizar adiciones en los documentos ya producidos; las pruebas a menudo nos llevan a cambios que se propagan a través de la mayoría de los ECSs.

De hecho, la primera ley de la Ingeniería de Sistemas establece:
Sin importar en qué momento del ciclo de vida del sistema nos encontremos, el sistema cambiará y el deseo de cambiarlo persistirá a lo largo de todo el ciclo de vida.

LA GESTIÓN DE CONFIGURACIONES DEL SOFTWARE (GCS) 

Es un conjunto de actividades desarrolladas para gestionar los cambios a lo largo del ciclo de vida. La GCS es una actividad de garantía de calidad de software que se aplica en todas las fases del proceso de
ingeniería del software.


Los ECS son objetos que poseen sus nombres, atributos y relaciones entre ellos. Una manera fácil de obtenerlos, es respondiendo las preguntas orientadoras:

1.     ¿Cómo identifico y gestiono las diferentes versiones existentes de un mismo software (y su documentación)?
2.     ¿Cómo controlo los cambios, antes y después que he entregado software al cliente?
3.     ¿Quién tiene la responsabilidad de aprobar y asignar prioridades en los cambios (la organización o mi equipo de trabajo)?
4.     ¿Cómo garantizo que los cambios realizados han sido los adecuados?
5.     ¿Qué mecanismos se usan para avisar a otros, de los cambios realizados?
Esto nos lleva a la definición de cinco tareas de GCS: Identificación, control de versiones, control de cambios, auditorias de configuración y generación de informes.

Para controlar y gestionar los elementos de configuración, se debe identificar cada uno de forma única y luego organizarlos mediante un enfoque orientado a objetos. Se puede identificar dos tipos de objetos: objetos básicos y objetos compuestos.

La descripción de cada objeto es una lista de elementos de datos que identifican: El tipo de ECS y un identificador del proyecto, y la información de la versión y/o el cambio. Las relaciones a través de la estructura se pueden representar:

ü  Modelo de datos (interrelacionados) modelo de flujo de datos: Interrelación de objetos compuestos.
ü  Modelo de datos (interrelacionados) caso de prueba de la clase m: Interrelación entre un objeto compuesto y un objeto  básico.

Las interrelaciones entre objetos se representan mediante un lenguaje de de interconexión de módulos. Se puede realizar cambios en cualquier versión. Se han desarrollado herramientas automáticas para ayudar a la tarea de la identificación y en algunos casos se diseña la herramienta para mantener copias completas de versiones más recientes y para acceder a las anteriores se restan los cambios.

Una representación de las diferentes versiones de un sistema es el grafo de evolución. Cada nodo del grafo es un objeto agregado, es decir, una versión completa del software.  

 
Un componente consta de de una colección de objetos del mismo nivel de revisión. Una variante es una colección diferente de objetos del mismo nivel de revisión y por tanto coexiste en paralelo con otras variantes. Una nueva versión se define cuando se realizan cambios significativos  en uno o más objetos.

 
El control de cambios combina los procedimientos humanos y las herramientas  automáticas para proporcionar un mecanismo para el control de cambios. El control de sincronización asegura que los cambios en paralelo  no se sobrescriben mutuamente.



Una auditoría de configuración de software complementa la revisión técnica formal  al comprobar características  que generalmente no tiene  en cuenta la revisión.  La auditoria plantea:

 
La generación de informes responde a las siguientes preguntas: ¿Qué paso?, ¿Quién lo hizo?, ¿Cuándo paso?, ¿Qué es lo más afectado?

Ver màs en:http://es.wikipedia.org/wiki/Gesti%C3%B3n_de_configuraci%C3%B3n_de_software
                    http://html.rincondelvago.com/configuracion-de-software.html
                    http://www.ual.es/~rguirado/posi/Tema5-Apartado5.pdf

lunes, 11 de octubre de 2010

Garantía de la calidad del software

La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software.

La gestión de la calidad

Gestión de la calidad: "Aspectos de la función de gestión que determinan y aplican la política de la calidad, los objetivos y las responsabilidades y que lo realiza con medios tales como la planificación de la calidad, el control de la calidad, la garantía de calidad y la mejora de la calidad". Dentro de la gestión de la calidad se observa:
  • Gestión de la calidad de software (ISO 9000): Conjunto de actividades de la función general de la dirección que determina la calidad, los objetivos y las responsabilidades y se implanta por medios tales como la planificación de la calidad, el control de la calidad, el aseguramiento (garantía) de la calidad y la mejora de la calidad, en el marco del sistema de calidad
  • Política de calidad (ISO 9000): Directrices y objetivos generales de una organización, relativos a la calidad, tal como se expresan formalmente por la alta dirección.

Principios de la gestión de la calidad según ISO 9000: 2000

Los ocho principios de la gestión de la calidad identificados para lograr los objetivos de la calidad, según "ISO 9000:2000 Sistemas de Gestión de la Calidad. Fundamentos y vocabulario." son:
  1. Enfoque al cliente. Las organizaciones dependen de sus clientes y por la tanto deberían comprender las necesidades actuales y futuras de los clientes, satisfacer los requisitos de los clientes y esforzarse en exceder las expectativas de los clientes.
  2. Liderazgo. Los líderes establecen la unidad de propósito y la orientación de la organización. Ellos deberían crear y mantener un ambiente interno, en el cual el personal pueda llegar a involucrarse totalmente en el logro de los objetivos de la organización.
  3. Participación del personal. El personal, a todos los niveles, es la esencia de una organización y su total compromiso posibilita que sus habilidades sean usadas para el beneficio de la organización.
  4. Enfoque basado en procesos. Un resultado deseado se alcanza más eficientemente cuando las actividades y los recursos relacionados se gestionan como un proceso.
  5. Enfoque de sistema hacia la gestión. Identificar, entender y gestionar los procesos interrelacionados como un sistema, contribuye a la eficacia y eficiencia de una organización en el logro de sus objetivos.
  6. Mejora continua. La mejora continua del desempeño global de la organización debería ser un objetivo permanente de ésta.
  7. Enfoque basado en hechos para la toma de decisiones. Las decisiones eficaces se basan en el análisis de los datos y la información.
  8. Relación mutuamente beneficiosa con el proveedor. Una organización y sus proveedores son interdependientes, y una relación mutuamente beneficiosa aumenta la capacidad de ambos para crear valor.
Para entender bien la relación de estos aspectos, es preferible observar la siguiente gráfica:


 Ver màs informaciòn en: http://www.monografias.com/trabajos59/calidad-software/calidad-software2.shtml

miércoles, 6 de octubre de 2010

Ej 2: Resolver Caso de Estudio Sky Light Tour aplicando las métricas

Agencia de Viajes Sky Light Tour en Nicaragua desea realizar una mercadotecnia defensiva de sus servicios de viajes de paquetes turísticos, para ello requiere de un Sitio Web que sea promocionado por los diversos medios de comunicación. El sitio web debe presentar mapa del pais, ciudades, hoteles por ciudad, clases y su respectiva descripción, recreación, restaurantes, alquiler vehicular y sus promociones por temporadas.

Entidades y atributos de los sub objetivos


Cliente (id_cliente, nombre, apellido, num_cedula, dirección, país, teléfono, sexo)
Reservación (id_reservación, id_cliente, id_vuelo, id_hotel, id_paquete, país_origen, país_destino, fecha_salida, fecha_regreso,hora_salida, hora_regreso)
Vuelo (id_vuelo, num_avión, aeropuerto, costo_boleto, num_asiento, tipo_clase)
Paquete (id_paquete, tipo_paquete, costo_paquete, duración_paquete)
Hotel ( id_hotel, id_vehiculo, nombre_hotel, país, dirección_hotel, telf._hotel, costo_habitación, personas_habitación,  serv.extras_hotel)
Vehiculo ( id_vehiculo, marca, placa, color, num_chasis, costo_dia)
Usuario (id_usuario, nombre_usuario, apellido_usuario, dirección_usuario, telf._usuario, país_usuario)
Pais_Destino ( id_paísdestino, id_hotel, ciudades, fotos, videos, mapa_pais, clima_pais)

Recolecta de datos y cálculos de indicadores






 

martes, 5 de octubre de 2010

Análisis y Gestión de Riesgos

En primer lugar, el riesgo afecta a los futuros acontecimientos. El hoy y el ayer están más allá de lo que nos pueda preocupar, pues ya estamos cosechando lo que sembramos previamente con nuestras acciones del pasado. La pregunta es, podemos por tanto, cambiando nuestras acciones actuales, crear una oportunidad para una situación diferente y, con suerte, mejor para nosotros en el futuro. Esto significa, en segundo lugar, que el riesgo implica cambio, que puede venir dado por cambios de opinión, de acciones, de lugares... En tercer lugar, el riesgo implica elección y la incertidumbre que entraña la elección. Por tanto, el riesgo, como la muerte, es una de las pocas cosas inevitables de la vida.


El riesgo siempre implica dos características:
  • Incertidumbre: El acontecimiento que caracteriza al riesgo puede o no puede ocurrir; por ejemplo, no hay riesgos de un 100 por ciento de probabilidad. 
  • Pérdida: Si el riesgo se convierte en una realidad, ocurrirán consecuencias no deseadas o pérdidas.
Cuando se analizan los riesgos es importante cuantificar el nivel de incertidumbre y el grado de pérdidas asociado con cada riesgo. Para hacerlo, se consideran diferentes categorías de riesgos.

Los riesgos del proyecto amenazan al plan del proyecto. Es decir, si los riesgos del proyecto se hacen realidad, es probable que la planificación temporal del proyecto se retrase y que los costos aumenten. Los riesgos del proyecto identifican los problemas potenciales de presupuesto, planificación temporal, personal (asignación y organización), recursos. cliente y requisitos y su impacto en un proyecto de software.

Los riesgos técnicos amenazan la calidad y la planificación temporal del software que hay que producir. Si un riesgo técnico se convierte en realidad, la implementación puede llegar a ser difícil o imposible. Los riesgos técnicos identifican problemas potenciales de diseño, implementación, de interfaz. verificación y de mantenimiento. Además. las ambigüedades de especificaciones, incertidumbre técnica, técnicas anticuadas y las "tecnologías punta" son también factores de riesgo. Los riesgos técnicos ocurren porque el problema es más difícil de resolver de lo que pensábamos.

Los riesgos del negocio amenazan la viabilidad del software a construir Los riesgos del negocio a menudo ponen en peligro ei proyecto o el producto. Los candidatos para los cinco principales riesgos del negocio son:

1. Construir un producto o sistema excelente que no quiere nadie en realidad (riesgo de mercado),

2. Construir un producto que no encaja en la estrategia comercial general de la compañía (riesgo estratégico),

3. Construir un producto que el departamento de ventas no sabe cómo vender,

4. Perder el apoyo de una gestión experta debido a cambios de enfoque o a cambios de personal (riesgo de dirección),

5. Perder presupuesto o personal asignado (riesgos de presupuesto).

 Ver más en: http://www.wikilearning.com/curso_gratis/gestion_de_riesgos_en_ingenieria_del_software-introduccion/3620-1