Ingeniería de Software Clase 5 Gloria Lucia Giraldo Gómez [email protected] Escuela de...
-
Upload
teresa-luna -
Category
Documents
-
view
218 -
download
1
Transcript of Ingeniería de Software Clase 5 Gloria Lucia Giraldo Gómez [email protected] Escuela de...
Ingeniería de SoftwareClase 5
Gloria Lucia Giraldo Gó[email protected] de SistemasUniversidad Nacional de Colombia – Sede Medellín
Actores y sus rolesModelo del dominio
Contenido
Repaso Actores y sus roles Modelo del dominio Actividad (taller)
REPASOCiclo de vida clásico del software:
•Definición•Análisis•Diseño•Desarrollo•Pruebas•Mantenimiento
CONOCER Y ENTENDER
Captura de los Captura de los requerimientos (elicitación requerimientos (elicitación de requisitos) utilizando la de requisitos) utilizando la propuesta metodológica propuesta metodológica “UN-METODO”“UN-METODO”
REPASOCiclo de vida clásico del software:
•Definición•Analisis•Diseño•Desarrollo•Pruebas•Mantenimiento
CONOCER Y ENTENDER
¿QUÉ ?¿POR QUÉ ? ¿CÓMO ?¿DÓNDE ?¿CUÁNDO? ¿QUIÉN ?
?
REPASO
Ciclo de vida clásico del software:
•Definición•Analisis•Diseño•Desarrollo•Pruebas•Mantenimiento
UN-METODO
• Modelo verbal• Esquema preconceptual
REPASOModelo Verbal: descripción en lenguaje natural del sistema, el cual permite identificar
actores, procesos, objetivos y datos para cumplir esos objetivos
Esquema Preconceptual:
Relación dinámica
concepto condición precondiciónconexión
Relaciónestructural
Esquema PreconceptualSintaxis
concepto1 concepto2relación
condición relaciónsícondición relaciónsí
relación
no
relación relación concepto relación relación
concepto1 relación
Cuando un cliente de RAPIZZA Ltda. tiene necesidad de una pizza realiza una llamada a la pizzería en la cual es atendido por el despachador, quien toma el pedido de los productos requeridos; cada producto posee un código y su valor unitario se encuentra en una lista de precios. Del cliente, el despachador solicita la cédula, el nombre, teléfono y dirección. Dependiendo de la dirección, el cliente se ubica en una zona de cobertura. Además, del pedido el despachador registra el número, la fecha, la hora de salida y la hora de entrega, además del detalle de los productos a enviar, incluyendo la cantidad y una observación (si la hay).
Extracto del caso RAPIZZA
Extracto del caso RAPIZZA
1. Cuando un cliente de RAPIZZA Ltda. tiene necesidad de una pizza realiza una llamada a la pizzería en la cual es atendido por el despachador.2. El despachador toma el pedido de los productos requeridos3. Cada producto posee un código y su valor unitario se encuentra en una lista de precios. 4. Del cliente, el despachador solicita la cédula, el nombre, teléfono y dirección. 5. Dependiendo de la dirección, el cliente se ubica en una zona de cobertura. 6. Además, del pedido el despachador registra el número, la fecha, la hora de salida y la hora de entrega, además del detalle de los productos a enviar, incluyendo la cantidad y una observación (si la hay).
Extracto de RAPIZZA
CLIENTE
REALIZA
PEDIDO
LLAMA DESPACHADOR
REGISTRA
SE UBICAZONA
DEPENDE
TIENE
CÉDULA
DIRECCIÓN
TELÉFONONOMBRE
TIENE
CANTIDAD OBSERVACIÓNPRODUCTO
CÓDIGO
PRECIOTIENE
CONOCER Y ENTENDER
¿Cómo proceden los diferentes actores?
¿Cuáles son las relaciones entre ellos?
¿Cuáles son sus objetivos?UN-METODO no parte de la solución sino que inicialmente se focaliza en conocer la organización, sus funciones y razón de ser, sus problemas y objetivos
CONOCER Y ENTENDERSe debe determinar: El marco organizacional Los objetivos propios del área de la
aplicación La organización propia del área Los actores e interesados en las funciones
del área Los roles e intereses de los actores e
interesados frente a las funciones que les compete
El vocabulario propio del área.
Estructura de la organización Organigrama: representación de las
relaciones de poder entre los diferentes actores. Existen múltiples paradigmas para su representación, uno de ellos es el jerárquico
Responsabilidades generales de las áreas: descripción de los objetivos generales de la organización
Organigrama de RAPIZZA Ltda.
PROPIETARIO
REPARTIDOR
CHEFDESPACHADOR CONTADOR
RAPIZZA Ltda. Responsabilidades generales de las áreas
• Es una entidad con ánimo de lucro• La actividad de la pizzería debe ser suficiente para asegurar que se mantenga la venta del producto y que se conserven los precios a un nivel competitivo. Para ello, es necesario que la compra se incentive mediante promociones y publicidad, pero también ofreciendo un servicio de calidad que permita el retorno de los clientes a realizar nuevos pedidos.• Se debe garantizar el acceso de los clientes a los diferentes productos de la pizzería, conservando las políticas necesarias de envío de productos y realizar estudios de sus necesidades con el fin de ofrecer nuevos productos.• También, se debe garantizar el recaudo del dinero, ya sea por pago directo del cliente, o por recuperación de pagos mediante las cuentas de cobro a los repartidores.
Área del problema
Objetivos y responsabilidades propias del área del problema. Ej: Garantizar la recuperación del dinero de las ventas, asegurar el registro de la información de los pedidos, asegurar la entrega a tiempo de los productos
Organigrama detallado del área del problema
Responsabilidades de las componentes del área
Actores y roles
Se identifican a través del análisis del modelo verbal Respondiendo a las preguntas: para qué fue diseñado el sistema o a quiénes va a ayudar el sistema?Hay que definir cómo es la relación entre los actores y entre ellos con el sistemaNo siempre los actores son seres humanos, pueden ser máquinas o procesos
Actores y roles
Se distinguen tres grupos:
principales: interactúan directamente con el sistema
secundarios: mantienen o supervisan el sistema
pasivos: no son ni principales ni secundarios pero están interesados en el sistema
El caso de RAPIZZA Ltda.
¿Quiénes son los actores?
Cliente Despachador Chef Repartidor
¿Cuáles son los roles de los diferentes actores?
El caso de RAPIZZA Ltda.Una primera aproximación a la definición
del rol del DESPACHADOR
Toma los pedidos telefónicos y garantiza el envío de los productos
Recibe las llamadas de los clientes Solicita al cliente información personal: cédula, el nombre,
teléfono y dirección Registra numero de pedido, fecha, hora de salida, hora de
entrega, detalle de los productos, incluyendo cantidad y observaciones (opcionales)
Si hay un repartidor disponible le asigna un pedido y lo despacha
Recibe el dinero y los pedidos firmados por el cliente que el repartidor le entrega
Guarda el dinero en la caja Elabora cuentas de cobro al repartidor por cada pedido
firmado y no pagado por el cliente Recupera el dinero de las ventas
El caso de RAPIZZA Ltda.
Registra y despacha el pedidoAsigna el repartidor para un determinado conjunto de pedidosRegistra la hora de entrega de los pedidos (cuando el repartidor regresa) Registra el pago que realiza el clienteElabora las cuentas de cobro que permiten cancelar los pedidos
Una definición “mejorada” del rol del DESPACHADOR
El caso de RAPIZZA Ltda.
Los actores y sus funciones son : Cliente: Llama a la pizzería para realizar los pedidos,
brinda información del pedido e información personal, recibe los productos del pedido, realiza el pago del pedido y firma el pedido.
Despachador: Registra y despacha el pedido, asigna el repartidor para un determinado conjunto de pedidos, registra la hora de entrega de los pedidos (cuando el repartidor regresa), registra el pago que realiza el cliente y elabora las cuentas de cobro que permiten cancelar los pedidos.
Chef: Prepara los productos de los pedidos. Repartidor: Entrega los pedidos a los clientes y paga
las cuentas de cobro cuando no se cumple a tiempo con la entrega
El modelo del dominio
...pero qué significa “dominio”?
Matemáticas: se llama “dominio de definición” de una función al conjunto de valores para los cuales la función esta definida.
Por ejemplo: f(x) = 1/x
el dominio de esta función es el conjunto de los reales menos el cero
...pero qué significa “dominio”?Internet: se habla de “nombre de dominio” al conjunto de caracteres que identifican un sitio de internet accesible por un usuario. Por ejemplo: .com (comercial-empresas) .edu (educación, centros docentes), .org (organización sin fines de lucro), .net (operación de la red), .gov (Gobierno USA) .mil (ejército USA).
...pero qué significa “dominio”?
Ingenieria de software : se llama “modelo del dominio” a la representación visual de los conceptos u objetos del mundo real en un dominio de interés. Este modelo agrupa los conceptos de un dominio.Mecanismo fundamental para comprender el dominio del problema y para establecer conceptos comunes
Modelo del dominio
En él se representan los conceptos del dominio que nos interesa, sus características y las relaciones entre dichos conceptosEs un diccionario visual del dominio del problema
Qué es un concepto ? Una idea Es el elemento básico del pensamiento Conocimiento propio sobre una
categoría de objetos o acontecimientos
Modelo del dominio
Las ONTOLOGIAS son herramientas que sirven para esquematizar el modelo del dominio de un sistema particular
¿Qué es una ontología?
Es un término prestado de la filosofía Etimológicamente: ontos=ser logo=tratado En informática fue introducido por la comunidad
“Inteligencia artificial” y redefinida como “una especificación explícita y formal de una conceptualización compartida” (Gruber, 1993)(Borst, 1997)
Actualmente muy de “moda” (recuperación de información de la Web) Por qué? Porque en este momento existen problemas semánticos en la información de la Web y las ontologías ayudan a dar semántica a la información
¿Qué es una ontología?
Las ontologías catalogan y definen los tipos de cosas que existen en un cierto dominio, así como sus relaciones y propiedades.
Ejemplo: una ontología del mundo empresarial usará conceptos como Venta, Compra, Transferencia, Pago, etc.; y relaciones como “Una Transferencia corresponde a una Venta o a una Compra”, “Un Pago corresponde a una o varias Transferencias”, etc.
Las ontologías en la ingeniería del software
Ayudan a la especificación de los sistemas de software
La falta de un entendimiento común conduce a dificultades en identificar los requisitos y especificaciones del sistema que se busca desarrollar, las ontologías facilitan el acuerdo entre desarrolladores y usuarios (Términos comunes)
una ontología define los términos que se usan para describir y representar un cierto dominio
Modelo del dominio
Simbología básica
Nombre del concepto Nombre del concepto
Caracterís
ticas
Caracterís
ticasNombre relación
Reglas1. Los Actores del área del problema deben estar
representados como conceptos del Esquema Preconceptual y como conceptos del Modelo del Dominio.
2. El modelo verbal del problema suministra pistas en relación con los elementos que harán parte de los Esquemas Preconceptuales y los Modelos del Dominio. [ZAPATA Y GÓMEZ, 2006]
3. Los conceptos del Esquema Preconceptual deben estar contenidos en el modelo del dominio como conceptos o características.
4. Las relaciones del Esquema Preconceptual deben corresponder a relaciones de asociación en el Modelo del Dominio.
Esquema PreconceptualEjemplo
Planilla
tiene
Reservacióncomputador
tiene EstudianteComputador
Fecha-Hora
AuxiliarAdministrativo
solicita
registra
registra
Lista de Espera
Computador(x).disponible
no
si
tiene
Nombre Carné
Modelo del dominioEjemplo
ComputadorCódigo
Planilla
Mes
Estudiante
NombreCarné
registra reservaciónLista de Espera
NombreFecha
ReservaciónComputador
FechaHora
solicita
tienetiene
registra reservación
tiene
Auxiliaradministrativo
Nombre
RAPIZZA Ltda. lleva ya cerca de un año de actividad y hasta ahora no se ha conseguido ganar tanto dinero como se había esperado. Esta pizzería ofrece a los clientes diversos tipos y tamaños de pizza, además de la posibilidad de ordenar aditivos. Su estructura no es muy grande pues cuenta con un despachador, tres chef y siete repartidores que realizan las diferentes funciones necesarias para la satisfacción de las necesidades de los clientes en relación con los productos de la pizzería. Así, el despachador se debe encargar de tomar los pedidos telefónicos y garantizar el envío de los productos, los chef preparan las pizzas de los pedidos y los repartidores las entregan. La pizzería tiene una zona de cobertura determinada y con el fin de competir frente a otras pizzerías existentes en la zona se ha estado ofreciendo al cliente una promoción que consiste en entregarle el pedido totalmente gratis si éste tarda en ser entregado más de 30 minutos. Esta promoción ha atraído una buena cantidad de clientes al negocio, pero también se ha convertido en una de las principales fuentes de pérdida de dinero, puesto que muy a menudo los repartidores no consiguen llevar todas las pizzas a tiempo. A inconformidad de los repartidores, se ha impuesto en el reglamento que cada pedido entregado tarde, deberá ser pagado por el repartidor responsable, con el fin de evitar tanta pérdida de dinero y conseguir que los repartidores se esfuercen más en su trabajo.
Modelo Verbal RAPIZZA
Cuando un cliente de RAPIZZA Ltda. tiene necesidad de una pizza realiza una llamada a la pizzería en la cual es atendido por el despachador, quien toma el pedido de los productos requeridos; cada producto posee un código y su valor unitario se encuentra en una lista de precios. Del cliente, el despachador solicita la cédula, el nombre, teléfono y dirección. Dependiendo de la dirección, el cliente se ubica en una zona de cobertura. Además, del pedido el despachador registra el número, la fecha, la hora de salida y la hora de entrega, además del detalle de los productos a enviar, incluyendo la cantidad y una observación (si la hay).
Luego, el pedido pasa al chef, quien prepara los productos allí incluidos. Una vez los productos se han preparado y en cuanto uno de los repartidores se encuentre disponible, el despachador asigna un repartidor y despacha el pedido; el repartidor toma los pedidos preparados y se traslada a la dirección de destino del pedido para realizar la entrega.
Cuando llega el repartidor, el cliente recibe las pizzas y realiza el pago, siempre y cuando el tiempo de entrega sea inferior a 30 minutos; en caso contrario, únicamente firma el pedido sin realizar el pago. Una vez entregados todos los pedidos que lleva el repartidor, éste regresa a la pizzería y entrega el dinero y los pedidos firmados al despachador. El despachador, entonces, guarda el dinero en la caja y elabora cuentas de cobro al repartidor por cada pedido firmado que el cliente no haya pagado. Tanto los pagos como las cuentas de cobro cancelan los pedidos.
Uno de los principales problemas de la pizzería es la recuperación del dinero de las ventas por parte del despachador, ya que se requiere asegurar el envío del producto al cliente y la entrega a tiempo de los pedidos a cargo de los repartidores. Esto es sumamente importante para RAPIZZA Ltda., ya que de ello depende el éxito de las ventas y la satisfacción al cliente, medio por el cual se espera conseguir reconocimiento y un incremento en la clientela.