lunes, 21 de noviembre de 2011

SCRUM y KANBAN

SCRUM


Es un marco de trabajo para la gestión y desarrollo de software basada en un proceso iterativo e incremental utilizado comúnmente en entornos basados en el desarrollo ágil de software. Aunque Scrum estaba enfocado a la gestión de procesos de desarrollo de software, puede ser utilizado en equipos de mantenimiento de software, o en una aproximación de gestión de programas Scrum es un modelo de referencia que define un conjunto de prácticas y roles, y que puede tomarse como punto de partida para definir el proceso de desarrollo que se ejecutará durante un proyecto.
Los roles principales en Scrum son el ScrumMaster,que mantiene los procesos y trabaja de forma similar al director de proyecto, el ProductOwner, que representa a los stakeholders (interesados externos o internos), y el Team que incluye a los desarrolladores.
Durante cada sprint, un periodo entre una y cuatro semanas (la magnitud es definida por el equipo), el equipo crea un incremento de software potencialmente entregable (utilizable). El conjunto de características que forma parte de cada sprint viene del Product Backlog, que es un conjunto de requisitos de alto nivel priorizados que definen el trabajo a realizar.

KANBAN


Es un sistema de información que controla de modo armónico la fabricación de los productos necesarios en la cantidad y tiempo necesarios en cada uno de los procesos que tienen lugar tanto en el interior de la fábrica como entre distintas empresas. También se denomina “sistema de tarjetas”, pues en su implementación más sencilla utiliza son tarjetas que se pegan en los contenedores de materiales y que se despegan cuando estos contenedores son utilizados, para asegurar la reposición de dichos materiales.

Taller N°2



1) El banco del Estado ha solicitado a Ud. una serie de requerimientos para la atención de las cajas en la sucursal “Puerto Montt”.



¿Quienes conforman el sistema?
intervienen en este proceso dos actores el cajero y el cliente.
¿Con que personas dialogaría para una entrevista?
Primero con el encargado de la sucursal, para obtener una noción sobre los requerimientos, después la gente que trabaja en el área de informática del banco para reconocer todas las partes involucradas y así entender mejor el problema. Finalmente hablar con los usuarios finales en este caso los cajeros para saber su opinión sobre los procesos que ellos cubren y como lo mejorarían, ya que ellos son los usuarios que interactúan día a día con el software.
¿Es relevante realizar un organigrama?
Es de vital importancia tener un organigrama de la empresa en la que estamos realizando el proyecto para poder saber a ciencia cierta sobre quién debemos dirigirnos para tener una buena toma de requerimientos.


2) ¿En base a la pregunta anterior. Que documentos arroja esta fase de entrevista?



Toda la documentación de la toma de requerimientos y las minutas de reunión . Si se diera el caso de que los requerimientos fuesen claros para los analistas se puede dar paso a la creación el prototipo del futuro sistema a construir.

3) Justifique para una aplicación de: Consulta de saldos y tarjetas del ámbito Bancario el uso del Modelo Espiral para el desarrollo de software.



Este modelo es perfecto. Ya que si hay dudas al principio con la funcionalidad del sistema, que pueden ser muy variadas, este ciclo de vida de software permite trabajar desde un principio con requerimientos ‘generales’ porque no necesita una definición completa de los requisitos para empezar a funcionar. También, cuando ya se ha realizado la primera vuelta al espiral, se puede entregar un producto (prototipo) para que sea probado y facilitar la validación de los requisitos.

4) Señale brevemente un diagrama de caso de uso para la función de ingreso o consulta de saldos tarjeta bip!.

domingo, 20 de noviembre de 2011

Taller Nº1

En forma individual leer del capítulo correspondiente a la Unidad 3, los
siguientes contenidos:
• Conocimiento 01 Introducción
• Conocimiento 02 Diagramas de Actividad
• Conocimiento 03 Modelado de Casos de Uso: Casos de Uso
• Conocimiento 04 Modelado de Casos de Uso: Diagramas de Casos de Uso
Con su grupo de trabajo desarrollar las siguientes actividades:

1) Escenarios


Defina el concepto de Escenario para UML. Y Reconocer un escenario para la actividad de toma de ramos.

RESPUESTA:

Un escenario es una secuencia específica de acciones e interacciones entre los actores y el sistema que es objeto de estudio; también se llama instancia de caso de uso. Es una historia particular del uso de un sistema, o un camino a través del caso de uso.

El escenario para la toma de ramos es:

El alumno debe estar previamente matriculado y sin deudas pendientes, el sistema muestra la información de los cursos dictados, el profesor, la sección y los días y horas en que se puede seleccionar, además los cursos que necesitan prerrequisito, se activan solo si este ha sido pasado, al seleccionar los cursos la carga académica va apareciendo a un costado de la pantalla, este muestra si la selección está correctamente ejecutada para evitar que dos cursos estén en el mismo horario, si hay dos cursos en el mismo horario el sistema pide reiniciar todos los pasos previamente vistos, otra excepción es que pasado 15 minutos desde el login a la pagina, cierra la sesión automáticamente y el alumno debe volver a loggear y empezar el tramite nuevamente y se imprimen los datos de la carga académica.

2)Seguir los 5 pasos para modelar un caso de uso del ingreso, validación
pago y emisión de comprobante para el JUEGO LOTO:




Establecer el contexto del sistema, identificando los actores a su alrededor:
el contexto se encuentra en una agencia de juegos de azar, en el que los actores involucrados son el cajero, el cliente y el sistema (maquina realizadora de apuestas), ingresar números, realizar apuesta, validar apuesta, emitir moto total, imprimir comprobante de jugada.
Considerar el comportamiento que cada actor espera del sistema o requiere que éste le proporcione:
Cajero: que los números ingresados estén presente en la pool del juego; que los números ingresados sean validados para efectuar la apuesta; que el sistema calcula el total de la apuesta e imprima la información total de la apuesta (entregando un identificador de jugada).

Cliente: necesita que sus números se validen para hacer una jugada valida, que el sistema efectué un cálculo de precio total preciso sobre su jugada e imprima el comprobante para poder retirar su premio en caso de resultar una apuesta exitosa.
Nombrar esos comportamientos comunes como casos de uso:

  • El cliente llega a la agencia.
  • El cajero le pregunta que juego de azar desea apostar
  • El cliente le dice su opción de juego
  • El cliente expresa sus números favoritos para ser puestos en el cartón
  • El cajero ingresa los números
  • El sistema valido que los números estén correctamente ingresados
  • El sistema saca el cálculo total de la apuesta
  • El cliente paga el total por el cartón
  • El cajero ingresa el pago al sistema
  • El sistema imprime toda la información de la jugada y entrega un identificador al carton jugado con todas sus opciones.

Factorizar el comportamiento común en nuevos casos de uso que puedan ser usados por otros; hay que factorizar el comportamiento que varía en nuevos casos de uso que extiendan los flujos principales:
Factorizar significa el hecho de separar un proseso que ocupen uno o mas actores y aislarlos para su especificacion y utilizacion.
en nuestro modelo de caso de uso no surge Factorizacion.

Modelar estos casos de uso, actores y relaciones en un diagrama de casos de uso:

3) Por cada integrante de su grupo, desarrollar tres preguntas, por cada contenido: Una de verdadero y falso, una de selección múltiple y una de desarrollo.


Diego Rivas
Conocimiento 01

Verdadero o falso:

¿Es incompatible utilizar uml y bpmn al mismo tiempo para un proyecto?
A) verdadero
B) falso

Selección múltiple:

¿Cuál es la principal ventaja de bpmn frente a uml?
a) es más fácil de usar
b) uml está obsoleto al ser muy antiguo
c) bpmn es una notación enfocada en procesos y no en objetos
d) bpmn es orientado a servicios

Pregunta de desarrollo

Explique que es un diagrama de procesos de negocio
Es un diagrama en donde se muestran los procesos que afectan a un caso específico para obtener una salida específica. Y así entender los procesos dentro de la empresa y cómo funcionan para alcanzar el éxito en la organización.

Conocimiento 02

Verdadero o falso

¿Gráficamente el diagrama de actividades es un conjunto de nodos y arcos?
A) verdadero
b) falso

Selección múltiple

¿Qué representa el modelado de negocio?
A) un tipo de flujo de trabajo (workflow)
b) un caso de uso
c) un tipo de diagrama uml
d) una actividad presente en el negocio

Pregunta de desarrollo.

¿Qué es una transición en un proceso de negocio?
Es el camino de una acción hacia el estado que se encuentra a continuación del workflow

Conocimiento 03

Verdadero o falso

¿El sistema puede ser un actor?
A) Verdadero
b) Falso

Selección múltiple

¿Cómo se describe un escenario?
a) un conjunto de casos de uso
b) una plantilla uml
c) una secuencia especifica de acciones e interacciones entre los actores
d) una tarima en donde se presentan los actores del caso de uso

Pregunta de desarrollo

¿Qué es un caso de uso?
Un caso de uso es un conjunto de escenarios con éxito y fallo, relacionados, que describe a los actores que usan un sistema para satisfacer un objetivo.

Conocimiento 04

Verdadero y falso

¿Es recomendable dejar afuera del sistema a los actores?
A) verdadero
b) falso

Selección múltiple

¿Qué es lo más recomendable para modelar el contexto del sistema?
a) organizar jerárquicamente los requisitos
b) hacer estereotipos de los actores
c) definir el entorno físico donde se efectuara el proceso
d) identificar actores, que actores interactúan con hardware, y los que ejecutan mantenimiento y administración.

Pregunta de desarrollo

Nombre algunas buenas prácticas para modelar casos de uso
Hay que darle un nombre apropiado, lo más cercano posible a la acción que se ejerce en la empresa
Saber distribuir los elementos de forma consistente para evitar redundancias
Hay que usar notas y colores como señales visuales para llamar la atención sobre las principales características del diagrama
Intentar no mostrar muchos tipos de relaciones, para el lector es muy difícil comprender el lenguaje técnico utilizado por los expertos.

Adolfo Norambuena:
aun faltan unos pocas por elaborar, cuando se posean todas se actualizara con las preguntas y respuestas respectivas.

martes, 18 de octubre de 2011

ayuda para entender mejor ddd

libro domain desing quickly
AQUI

referencias de ddd en español
AQUI

libro Domain-driven Design: Tackling Complexity in the Heart of Software
AQUI

libro Applying Domain-Driven Design and Patterns: With Examples in C# and .NET
AQUI

que es domain driven design(DDD)

es una forma de diseñar el software centrándonos en lo que el cliente nos pide. El software que hacemos tiene como objetivo resolver un problema de nuestro cliente. Este problema está contextualizado dentro de un dominio, es decir, el cliente maneja una serie de datos, relaciones y operaciones como por ejemplo, cuentas, movimientos, transacciones, etc, y nuestro software debe reflejar eso en su estructura. Cuando realizamos una aplicación siguiendo Domain Driven Design es importante que nos centremos en entender y resolver el problema de nuestro cliente, es decir, debemos tener un conjunto de clases y operaciones asociadas que resuelvan el problema de nuestro cliente y que sean independientes de cualquier otro aspecto del sistema como la persistencia, exposición como servicios web, etc.

lunes, 26 de septiembre de 2011

Proyecto a desarrollar

Comercial Gal-Ron Ltda.

Empresa dedicada al rubro de seguridad personal e institucional.

Brindar el mejor producto de calidad en seguridad, ofreciendo diversos tipos de productos.

lunes, 5 de septiembre de 2011

Caso de Uso - Hotel

El dueño de un hotel le pide a usted desarrollar un programa para consultar sobre las piezas disponibles y reservar piezas de su hotel.

El hotel posee tres tipos de piezas: simple, doble y matrimonial, y dos tipos de clientes: habituales y esporádicos. Una reservación almacena datos del cliente, de la pieza reservada, la fecha de comienzo y el número de días que será ocupada la pieza.

El recepcionista del hotel debe poder hacer las siguientes operaciones:

  • Obtener un listado de las piezas disponible de acuerdo a su tipo
  • Preguntar por el precio de una pieza de acuerdo a su tipo
  • Preguntar por el descuento ofrecido a los clientes habituales
  • Preguntar por el precio total para un cliente dado, especificando su numero de RUT, tipo de pieza y número de noches.
  • Dibujar en pantalla la foto de un pieza de acuerdo a su tipo
  • Reservar una pieza especificando el número de la pieza, rut y nombre del cliente.
  • Eliminar una reserva especificando el número de la pieza

El administrador puede usar el programa para:

  • Cambiar el precio de una pieza de acuerdo a su tipo
  • Cambiar el valor del descuento ofrecido a los clientes habituales
  • Calcular las ganancias que tendrán en un mes especificado (considere que todos los meses tienen treinta días).



Descargar Imagen