Conceptos Clave en Desarrollo de Software: SCRUM, Tiempo Real y Colaboración
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 4,63 KB
Características de la Metodología SCRUM
SCRUM es una metodología ágil que se caracteriza por los siguientes puntos clave:
- Está diseñada para acortar el ciclo de desarrollo.
- Aborda todo el desarrollo del software desde un punto de vista con sentido común.
- Es una metodología flexible desde la perspectiva del desarrollo.
- Fomenta el aumento de la productividad y de la comunicación entre el cliente y el equipo desarrollador. Es recomendada para equipos de trabajo pequeños (máximo 8 personas).
- Consigue una mejor aproximación entre las funcionalidades del software y los requerimientos del cliente.
- Ofrece una mayor versatilidad frente a los cambios.
- Permite comenzar el trabajo lo más rápido posible.
- Facilita un manejo más eficiente de los requerimientos cambiantes.
- Mejora la comunicación entre el cliente y el equipo de desarrollo.
Características de los Sistemas de Tiempo Real
Sus particularidades hacen que su desarrollo sea aún más difícil que el de otros sistemas informáticos. Estas son:
- Concurrencia: Son sistemas inherentemente concurrentes en los que hay varios flujos de control ejecutándose simultáneamente e interaccionando, accediendo a recursos comunes y comunicándose y sincronizándose entre ellos.
- Interacción con el hardware: Interactúan directamente con sistemas físicos.
- Sistemas abiertos: Su funcionamiento depende habitualmente de estímulos procedentes del entorno.
- Sistemas embebidos: Los sistemas de tiempo real se desarrollan en arquitecturas físicas muy variadas, desde vehículos a teléfonos móviles. A este tipo de sistemas se les llama embebidos.
- Determinismo temporal: Se refiere a poder conocer exactamente cómo se comporta el entorno del sistema.
- Comportamiento predecible: Implica saber cómo se comporta el sistema de manera que no pueda aparecer ninguna situación que altere el comportamiento temporal.
- Mantenimiento: Es un problema en los sistemas de tiempo real, debido a que cualquier cambio requiere una nueva verificación detallada para asegurar la validez del comportamiento.
Tipos de Objetos en HOOD
Objetos Pasivos
No controlan cuándo se ejecutan sus operaciones y no invocan operaciones de otros objetos espontáneamente; por tanto, sus operaciones se ejecutan cuando el objeto es invocado.
Objetos Activos
Pueden controlar cuándo se ejecutan invocaciones de sus operaciones y pueden espontáneamente invocar operaciones en otros objetos. Sus operaciones pueden bloquearse por restricciones de operaciones o restricciones funcionales.
Objetos Protegidos
Pueden controlar cuándo se llama a sus operaciones, pero ellos no pueden llamar espontáneamente a operaciones de otros objetos. Normalmente, las operaciones se ejecutan en exclusión mutua y la invocación puede ser asíncrona o sincrónica.
Objetos Cíclicos
Representan actividades periódicas. Pueden invocar espontáneamente operaciones de otros objetos, pero solo pueden contener operaciones de Transferencia de Control Asíncrona (A.T.C).
Objetos Esporádicos
Representan actividades esporádicas. Pueden invocar espontáneamente operaciones en otros objetos. Tienen una única operación asíncrona (START) y pueden tener, eventualmente, operaciones de transferencia de control asíncrona (A.T.C), es decir, de atención inmediata.
Características de los Sistemas Colaborativos
Colaboración
La colaboración entre los participantes del grupo permitirá llegar al objetivo o tarea que desean realizar. Para esto, se requiere que los usuarios compartan información y que puedan trabajar sobre ella, para lo cual necesitarán acceder a un contexto compartido.
Comunicación
Los usuarios requieren herramientas para comunicarse, para poder discutir, negociar o intercambiar opiniones. Las herramientas pueden ser sincrónicas o asincrónicas y pueden estar basadas en texto, como el chat o el correo, o transmitir diferentes medios como sonido o video.
Coordinación
La efectividad de la comunicación y colaboración puede ser incrementada si las actividades del grupo están coordinadas. La coordinación permite organizar la participación de los usuarios en el proceso colaborativo; a partir de ella se determinan las actividades que puede hacer cada usuario y en qué momento.