FANDOM


Taller Final de Modulo de Ingenieria del Software


1. a) Cuál es el núcleo técnico de la Ingeniería del Software?

EL diseño del software se encuentra en el núcleo técnico de la ingeniería del software y se aplica independientemente del modelo de diseño de software que se utilice.

...b) Describa las actividades estructurales en un proceso de Ingeniería de Software.

Comunicación

Antes de que se empiece cualquier trabajo técnico, tiene importancia crítica comunicarse y colaborar con el cliente (y con otros participantes). Se busca entender los objetivos de los participantes respecto del proyecto, y reunir los requerimientos que ayuden a definir las características y funciones del software.

Planeación

Cualquier viaje complicado se simplifica si existe un mapa. Un proyecto de software es un viaje complicado, y la actividad de planeación crea un "mapa" que guía al equipo mientras viaja. El mapa (llamado plan del proyecto de software) define el trabajo de ingeniería de software al describir las tareas técnicas por realizar, los riesgos probables, los recursos que se requieren, los productos del trabajo que se obtendrán y una propagación de las actividades.

Modelado

Si eres diseñador de paisaje, constructor de puentes, ingeniero aeronáutico, carpintero o arquitecto, a diario trabajas con modelos. Se crea un "bosquejo" del objeto por hacer a fin de entender el panorama general (cómo se verá arquitectónicamente, cómo ajustan entre sí las partes constituyentes y muchas características más). Si se requiere, refina el bosquejo con más y más detalles en un esfuerzo por comprender mejor el problema y cómo resolverlo. Un ingeniero de software hace lo mismo al crear modelos a fin de enteder mejor los requerimientos del software y el diseño que los satisfará.

Construcción

Esta actividad mezcla la generación de código (ya sea manual o automatizada) y las pruebas que se requieren para descubrir errores en éste.

Despliegue

El software (como entidad completa o como un incremento parcialmente terminado) se entrega al consumidor que lo evalúa y que le da retroalimentación, misma que se basa en dicha evaluación.

2. ¿Qué es un artefacto y cuáles son los principales artefactos creados durante la gestión y durante el ciclo de vida del proceso?

Un artefacto es un producto tangible resultante del proceso de desarrollo de software. Algunos artefactos como los casos de uso, diagrama de clases u otros modelos UML ayudan a la descripción de la función, la arquitectura o el diseño del software. Otros se enfocan en el proceso de desarrollo en sí mismo, como planes de proyecto, casos de negocios o enfoque de riesgos. El código fuente compilado para el testeo se suele considerar un artefacto, ya que el ejecutable es necesario para el plan de testeo.

En ocasiones un artefacto puede referirse a un producto terminado, como el código o el ejecutable, pero más habitualmente se refiere a la documentación generada a lo largo del desarrollo del producto en lugar del producto en sí.

Los artefactos pueden variar en su necesidad de mantenimiento y actualización. Los artefactos que detallan el diseño pretendido para el producto suelen realizarse al principio del proyecto y no necesitan mantenerse, mientras que otros se mantienen a lo largo del ciclo de vida con información que se actualiza durante el desarrollo.

3. ¿Cuáles son los principales factores de calidad del producto software?

Los factores que determinan la calidad del software se clasifican en tres grupos:

1. Operaciones del producto: características operativas

·         Corrección: Grado en que un programa satisface sus especificación y logra los objetivos marcados por el usuario. (¿Hace lo que se le pide?).

·         Fiabilidad: Grado en que se puede esperar que un programa lleve a cabo las funciones esperadas con la precisión requerida. (¿Lo hace de forma fiable todo el tiempo?).

·         Eficiencia: Cantidad de recursos de computadoras y de código requeridos por el programa para realizar sus funciones con los tiempos de respuesta adecuados. (¿Qué recursos hardware y software necesito?).

·         Integridad: Grado en que puede controlarse el acceso al software o a los datos por usuarios no autorizados. (¿Puedo controlar su uso?).

·         Facilidad de uso: Esfuerzo necesario para aprender, utilizar, preparar las entradas e interpretar las salidas de un programa. (¿Es fácil y cómodo de manejar?).

2. Revisión del producto: capacidad para soportar cambios.


  • Facilidad de mantenimiento: Esfuerzo requerido para localizar y arreglar un error en un programa. (¿Puedo localizar los fallos?). </li></li>
  • Flexibilidad: Esfuerzo requerido para modificar un programa. (¿Puedo añadir nuevas opciones?).</li></li>
  • Facilidad de prueba: Esfuerzo requerido para probar un programa de forma que se asegure que realiza la función requerida. (¿Puedo probar todas las opciones?). </li>

    3. Transición del producto: adaptabilidad a nuevos entornos.


    </li>

  • Portabilidad: Esfuerzo requerido para transferir un programa desde un entorno HW y/o SW a otro. (¿Podré usarlo en otra máquina?). </li></li>
  • Reusabilidad: Grado en que un programa o componente SW se puede reutilizar en otras aplicaciones. (¿Podré utilizar alguna parte del software en otra aplicación?). </li>

    Interoperatividad: Esfuerzo requerido para acoplar un sistema con otras aplicaciones o sistemas. (¿Podrá comunicarse con otras aplicaciones o sistemas informáticos?).

    4. ¿Cuáles son las características esenciales de la metodología de desarrollo de software XP?

    Características esenciales de XP

    </li>

  • Roles.
        • Programador: Produce el código del sistema.
        • Cliente: Escribe las HU y las pruebas funcionales para validar su implementación, así como asigna la prioridad de la HU y decide cuál se implementara en cada iteración.
        • Encargado de pruebas: Ayuda al cliente a escribir las pruebas funcionales, ejecuta las pruebas y difunde resultados además es responsable de las herramientas de soporte para prueba.
        • Rastreador (Tracker):también conocido como "Metric Man", observa sin molestar y man tiene los datos históricos.
        • Consultor: Es un miembro externo del equipo con conocimiento especifico de algún tema necesario para el proyecto. Guía al equipo para resolver un problema específico.
        • Gestor (Big Boss): Es el vínculo entre clientes y programadores, ayuda a que el equipo trabaje efectivamente creando las condiciones adecuadas. Su labor esencial es de cooridnacion
        • Artefactos esenciales.
        • Historias de Usuario.
        • Tareas de Ingenieria.
        • Pruebas de Aceptación.
        • Procesos.
        • Ciclo de desarrollo.
        • Ciclo de vida(Fases)
        • Prácticas.
    5. Escriba un ejemplo de posible riesgo de cada uno de los siguientes tipos de riesgos</li>
  • Organizacional:  Habrá un cambio de gestión organizacional. </li>
  • Tecnología: La tecnología fundamental sobre la que se construirá el sistema se sustituye por nueva tecnología.</li>
  • Requerimientos:  Habrá más cambios en los requerimeintos de lo esperado.</li>
  • Estimación:   El tamaño del sistema se ha subestimado.</li>
  • Personal:   Personal con experiencia abandona el proyecto antes de que finalice.</li>
  • Herramientas:   Las herramientas CASE que ayudan al proyecto no tienen el rendimiento esperado.</li>