Modelo de negocio
Joan Sebastián Ramírez Pérez
2015
Agenda
 Requisitos
 Modelo de negocio
 Bibliografía
Agenda
 Requisitos
 Modelo de negocio
 Bibliografía
¿Qué es un requisito?
 Una especificación de qué se debería implementar. Son descripciones de cómo se
debe comportar el sistema, o de un atributo o propiedad del sistema. Puede ser
una restricción en el proceso de desarrollo de un sistema (Somerville y
Sawler,(1997)).
 Cada objetivo del sistema debe contestarse con uno o varios requisitos. El requisito
debe establecerse de forma que la métrica pueda responderlo claramente.
¿Qué no es un requisito?
 Detalles de Diseño o implementación o pruebas.
 Información relativa a la Planificación del Proyecto.
 Necesidades del Proyecto.
Los requisitos deben ser:
 Posibles
 Necesarios
 Priorizados
 Concretos
 Verificables
Importancia de los requisitos
Defecto Consecuencia
Implicación insuficiente del cliente Problemas en la validación del producto obtenido
Requisitos crecientes y cambiantes
Degradación de la estructura y arquitectura del
producto
Requisitos ambiguos Pérdida de tiempo en re-codificación
Requisitos innecesarios Trabajo innecesario
Requisitos insuficientes (mínimos)
Problemas en la validación del producto obtenido y
error en la estimación
y planificación
Omisión de las necesidades de algunos grupos de usuarios Usuarios insatisfechos
Ingeniería de requisitos
Ingeniería de requisitos
Desarrollo de requisitos
Buenas practicas
Técnicas de elicitación de requisitos
 Entrevistas.
 Joint Application Development (JAD) o Desarrollo Conjunto de Aplicaciones.
 Brainstorming o tormenta de ideas.
 Utilización de escenarios o casos de uso.
Entrevistas
 Es la técnica más usada
 Cuenta con tres fases: preparación, realización y análisis.
 Preparación: estudio dominio de problema, seleccionar personas a entrevistar,
determinar el objetivo de cada entrevista y planificación de la entrevista (fecha,
hora, lugar y duración).
 Realización: apertura (se informan objetivos y se expresan conceptos necesarios
para la entrevista), desarrollo (preguntas abiertas) y terminación (se recapitula para
estar seguros de la información obtenida).
 Análisis: se revisan las notas o grabaciones obtenidas de la entrevista con el fin de
obtener un documento con la información. Dicho documento se podría validar con
el entrevistado.
Joint Application Development (JAD) o
Desarrollo Conjunto de Aplicaciones
 Desarrollada por IBM en 1977.
 Se desarrolla a lo largo de un conjunto de reuniones en grupo durante un periodo
de 2 a 4 días. En estas reuniones se ayuda a los clientes y usuarios a formular
problemas y explorar posibles soluciones, involucrándolos y haciéndolos sentirse
partícipes del desarrollo.
 Se basa en 4 principios : dinámica de grupo, el uso de ayudas visuales para mejorar
la comunicación (diagramas, transparencias, multimedia, herramientas CASE, etc.),
mantener un proceso organizado y racional y una filosofía de documentación
WYSIWYG (What You See Is What You Get).
 El JAD tiene dos pasos: el JAD/Plan (busca elicitar y especificar requisitos) y el
JAD/Design (aborda el diseño del software).
Brainstorming o tormenta de ideas
 Técnica de reuniones en grupo cuyo objetivo es la generación de ideas en un
ambiente libre de críticas o juicios.
 Cada sesión esta formada por un número de cuatro a diez participantes. Uno de los
cuales es el jefe de la sesión, encargado más de comenzar la sesión que de
controlarla.
 Frente al JAD, el brainstorming tiene la ventaja de que es muy fácil de aprender y
requiere poca organización.
 Tiene 4 fases: preparación (lugar, fecha y participantes), generación (el jefe abre la
sesión exponiendo un enunciado general del problema a tratar, que hace de
semilla para que se vayan generando ideas.), consolidación (revisión ideas,
descartar ideas, priorizar ideas) y documentación (el jefe documenta el resultado
de la dinámica).
Utilización de escenarios o casos de uso
 Los casos de uso facilitan la elicitación de requisitos y son fácilmente
comprensibles por los clientes y usuarios.
 La utilización de los casos de uso como técnica tanto de elicitación como de
especificación de los requisitos funcionales del sistema.
Tipos de requisitos (Juan Palacios)
 Funcionales: definen el comportamiento del sistema o tareas que el sistema debe
realizar.
 No funcionales: definen aspectos, que sin ser funcionalidades, (tareas que el sistema
debe realizar) resultan deseables desde el punto de vista del usuario. Generalmente
comprenden atributos de calidad: tiempos de respuesta, características de usabilidad y
facilidad de mantenimiento.
 De interfaz: definen las interacciones del sistema con su entorno.
Tipos de requisitos (Amador Duran)
 Objetivos del sistema
 Requisitos de información
 Requisitos funcionales
- Diagramas de casos de uso
- Definición de actores
- Casos de uso del sistema
 Requisitos no funcionales
Tipos de requisitos
Atributos de calidad
Visibles Vía Ejecución
Atributo de calidad Descripción
Disponibilidad (Availability) Es la medida de disponibilidad del sistema para el uso.
Confidencialidad (Confidentiality) Es la ausencia de acceso no autorizado a la información.
Funcionalidad (Functionality)
Habilidad del sistema para realizar el trabajo para el cual fue
concebido.
Desempeño (Performance)
Es el grado en el cual un sistema o componente cumple con
sus funciones designadas, dentro de ciertas restricciones
dadas, como velocidad, exactitud o uso de memoria
Confiabilidad (Reliability)
Es la medida de la habilidad de un sistema a mantenerse
operativo a lo largo del tiempo.
Seguridad externa (Safety)
Ausencia de consecuencias catastróficas en el ambiente. Es
la medida de ausencia de errores que generan pérdidas de
información
Seguridad interna (Security)
Es la medida de la habilidad del sistema para resistir a
intentos de uso no autorizados y negación del servicio,
mientras se sirve a usuarios legítimos
No visibles vía ejecución
Atributo de calidad Descripción
Configurabilidad (Configurability)
Posibilidad que se otorga a un usuario experto a realizar ciertos
cambios al sistema.
Interoperabilidad (Interoperability)
Es la medida en que trabajan correctamente componentes del
sistema que fueron desarrollados separadamente al ser
integrados.
Integridad (Integrity) Es la ausencia de alteraciones inapropiadas de la información.
Modificabilidad (Modifiability) Es la habilidad de realizar cambios futuros al sistema.
Mantenibilidad (Maintainability)
Es la capacidad de someter a un sistema a reparaciones y evolución.
Capacidad de modificar el sistema de manera rápida y a bajo costo.
Portabilidad (Portability)
Es la habilidad del sistema para ser ejecutado en diferentes ambientes de computación. Estos
ambientes pueden ser hardware, software o una combinación de los dos.
Reusabilidad (Reusability)
Es la capacidad de diseñar un sistema de forma tal que su estructura o parte de sus componentes
puedan ser reutilizados en futuras aplicaciones.
Escalabilidad (Scalability) Es el grado con el que se pueden ampliar el diseño arquitectónico, de datos o procedimental
Capacidad de Prueba (Testability)
Es la medida de la facilidad con la que el software, al ser sometido a una serie de pruebas, puede
demostrar sus fallas.
Es la probabilidad de que, asumiendo que tiene al menos una falla, el software fallará en su
próxima ejecución de prueba
Agenda
 Requisitos
 Modelo de negocio
 Bibliografía
¿Qué es un modelo de negocio?
 Un modelo del dominio es una representación visual de los conceptos
sobresalientes y significativos u objetos en el dominio de interés (contexto del
sistema).
 Es un diccionario visual de conceptos y sus relaciones. Se usan para entender los
conceptos claves y el vocabulario.
 Muestra conceptos, relaciones entre conceptos y atributos de los conceptos.
 Es la representación de cosas del mundo real, no componentes de software.
¿Qué no es?
 No es un modelo de datos.
 No es un diagrama de clases de software. Aunque se usa la notación de un
diagrama de clases UML.
 No es una descripción del diseño del software
¿Qué es y qué no es?
Ejemplo
 La figura muestra un modelo de dominio parcial, con la notación de un diagrama de
clases de UML. Muestra que las clases conceptuales cliente, video tienda, y video son
significativas para el dominio.
 Así mismo muestra que la video tienda y el video se relacionan de una forma que es
importante mostrarla (La tienda de videos almacena varios videos), y que la video tienda
tiene atributos como dirección, nombre y número telefónico, que nos interesan en el
dominio.
Guía al modelo de diseño
Clases conceptuales
 El modelo del dominio ilustra clases conceptuales o vocabulario en el dominio.
 Una clase conceptual es una idea, cosa u objeto.
Clases conceptuales
 Símbolo: palabras o imágenes que
representan la clase conceptual.
 Intensión: definición de la clase.
 Extensión: conjunto de ejemplos para
los cuales aplica la clase conceptual.
¿Cómo se hace un modelo de dominio?
 Use los requisitos que tiene hasta el momento.
 Encuentre las clases conceptuales.
 Dibújelas como clases en un diagrama de clases UML.
 Agregue asociaciones y atributos.
 Actualícelo frecuentemente sin caer en desperdicios de esfuerzo.
¿Cómo identifico las clases conceptuales?
1. Reusar o modificar modelos existentes.
2. Usar una lista de categorías
3. Análisis lingüístico: identificar sustantivos y frases sustantivas.
 Identificarlos en las descripciones textuales del dominio del problema y considerarlos
como clases candidatas o atributos.
 Utilizar los casos de uso para identificar sustantivos.
Categorías
Categorías de conceptos
 Transacciones de negocio (Criticas si involucran dinero)
 Ítems de transacciones, líneas de artículos.
 Producto o servicio relacionado a la transacción.
 Objetos físicos o tangibles (Relevante en software de control de
dispositivos o simulaciones)
 Especificaciones, diseños o descripción de cosas. Catálogos.
 Lugares de transacciones o donde se presta el servicio.
 Roles de personas u organizaciones, actores . (Partes involucradas
en la transacción)
 Contenedores de cosas o información. Cosas en el contenedor.
 Registros financieros, contratos, aspectos legales.
 Instrumentos financieros
 Manuales, horarios, documentos.
Ejemplos
 Venta, Pago. Reserva.
 Línea de productos.
 Ítem de venta.
 POS (point of sale)
 Descripción de productos, Catálogo de productos. Descripción de
vuelos
 Almacén, aeropuerto, avión
 Cajero, cliente. Pasajero, aerolínea.
 Almacén, estante, bodega. Avión. Artículo. Pasajero.
 Registro de mantenimiento, libro mayor.
 Cheque, tarjeta crédito, efectivo. Tiquetes.
 Lista de precios. Calendario de reparaciones.
Atributos vs clases
 Si no podemos identificar una clase conceptual como número o texto en el mundo
real, probablemente es una clase y no un atributo.
 Los atributos son datos simples.
Asociaciones
 Una asociación es una relación entre conceptos que indica alguna conexión
significativa e interesante.
¿Qué no son las asociaciones?
 Un modelo de flujo de datos
 Claves foráneas de una bases de datos
 Instancias de variables
 Conexiones de objetos de software
¿Cómo se nombran las asociaciones?
 La dirección de lectura por defecto para la
asociación es de izquierda a derecha y de
arriba a abajo.
 El nombre debe comenzar con mayúscula
porque la asociación representa un
clasificador de enlaces entre instancias.
(UML )
 Cada extremo de la asociación es llamado
ROL. (tiene multiplicidad)
Multiplicidad
 La multiplicidad define cuantas
instancias de una clase se pueden
relacionar con una instancia de otra
clase, en un momento del tiempo
particular.
 Puede existir más de una asociación
entre dos clases
 Por ejemplo, una instancia de Store
puede ser asociada con “varias”
(cero o mas) instancias de Item.
Atributos
 Es un valor de un dato lógico de un objeto que necesita ser recordado.
Algunos atributos son derivados de otros.
 Datos primitivos
–Números, caracteres, booleanos
 Tipos de datos compuestos comunes
–Date, time, dateTime, dirección, número de telefono, código de barras, etc.
 Las conexiones a otros conceptos se representan como asociaciones y no como
atributos.
Notación
¿Cuándo descomponer en subclases?
 La subclase adiciona atributos de interés.
 La subclase adiciona asociaciones de interés.
 El concepto de la subclase es operado, o manipulado diferentemente que la
superclase u otras subclases.
Multiplicidad
Agenda
 Requisitos
 Modelo de negocio
 Bibliografía
Bibliografía
 Amador Durán Toro, Beatriz Bernárdez Jiménez, "Metodología para la Elicitación de
Requisitos de Sistemas Software", Versión 2.3, Informe Técnico LSI–2000–10
(revisado), Universidad de Sevilla.
 Booch, G., Rumbaugh, J., & Jacobson, I. (1999). The UML Modeling LanguageUser
Guide. Adisson-Wesley.
 Pressman R. (2002) Ingeniería de Software. Un Enfoque Práctico. Quinta Edición. Mc
Graw Hill.
 Larman, C. “UML y Patrones. Introducción al Análisis y Diseño Orientado a Objetos
y al Proceso Unificado”. Prentice Hall, 2004.
 Grupo de Investigación Kybele. Ingeniería de Requisitos y Calidad de Producto.
Universidad Rey Juan Carlos
Gracias

Modelo negocio

  • 1.
    Modelo de negocio JoanSebastián Ramírez Pérez 2015
  • 2.
    Agenda  Requisitos  Modelode negocio  Bibliografía
  • 3.
    Agenda  Requisitos  Modelode negocio  Bibliografía
  • 4.
    ¿Qué es unrequisito?  Una especificación de qué se debería implementar. Son descripciones de cómo se debe comportar el sistema, o de un atributo o propiedad del sistema. Puede ser una restricción en el proceso de desarrollo de un sistema (Somerville y Sawler,(1997)).  Cada objetivo del sistema debe contestarse con uno o varios requisitos. El requisito debe establecerse de forma que la métrica pueda responderlo claramente.
  • 5.
    ¿Qué no esun requisito?  Detalles de Diseño o implementación o pruebas.  Información relativa a la Planificación del Proyecto.  Necesidades del Proyecto.
  • 6.
    Los requisitos debenser:  Posibles  Necesarios  Priorizados  Concretos  Verificables
  • 7.
    Importancia de losrequisitos Defecto Consecuencia Implicación insuficiente del cliente Problemas en la validación del producto obtenido Requisitos crecientes y cambiantes Degradación de la estructura y arquitectura del producto Requisitos ambiguos Pérdida de tiempo en re-codificación Requisitos innecesarios Trabajo innecesario Requisitos insuficientes (mínimos) Problemas en la validación del producto obtenido y error en la estimación y planificación Omisión de las necesidades de algunos grupos de usuarios Usuarios insatisfechos
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
    Técnicas de elicitaciónde requisitos  Entrevistas.  Joint Application Development (JAD) o Desarrollo Conjunto de Aplicaciones.  Brainstorming o tormenta de ideas.  Utilización de escenarios o casos de uso.
  • 13.
    Entrevistas  Es latécnica más usada  Cuenta con tres fases: preparación, realización y análisis.  Preparación: estudio dominio de problema, seleccionar personas a entrevistar, determinar el objetivo de cada entrevista y planificación de la entrevista (fecha, hora, lugar y duración).  Realización: apertura (se informan objetivos y se expresan conceptos necesarios para la entrevista), desarrollo (preguntas abiertas) y terminación (se recapitula para estar seguros de la información obtenida).  Análisis: se revisan las notas o grabaciones obtenidas de la entrevista con el fin de obtener un documento con la información. Dicho documento se podría validar con el entrevistado.
  • 14.
    Joint Application Development(JAD) o Desarrollo Conjunto de Aplicaciones  Desarrollada por IBM en 1977.  Se desarrolla a lo largo de un conjunto de reuniones en grupo durante un periodo de 2 a 4 días. En estas reuniones se ayuda a los clientes y usuarios a formular problemas y explorar posibles soluciones, involucrándolos y haciéndolos sentirse partícipes del desarrollo.  Se basa en 4 principios : dinámica de grupo, el uso de ayudas visuales para mejorar la comunicación (diagramas, transparencias, multimedia, herramientas CASE, etc.), mantener un proceso organizado y racional y una filosofía de documentación WYSIWYG (What You See Is What You Get).  El JAD tiene dos pasos: el JAD/Plan (busca elicitar y especificar requisitos) y el JAD/Design (aborda el diseño del software).
  • 15.
    Brainstorming o tormentade ideas  Técnica de reuniones en grupo cuyo objetivo es la generación de ideas en un ambiente libre de críticas o juicios.  Cada sesión esta formada por un número de cuatro a diez participantes. Uno de los cuales es el jefe de la sesión, encargado más de comenzar la sesión que de controlarla.  Frente al JAD, el brainstorming tiene la ventaja de que es muy fácil de aprender y requiere poca organización.  Tiene 4 fases: preparación (lugar, fecha y participantes), generación (el jefe abre la sesión exponiendo un enunciado general del problema a tratar, que hace de semilla para que se vayan generando ideas.), consolidación (revisión ideas, descartar ideas, priorizar ideas) y documentación (el jefe documenta el resultado de la dinámica).
  • 16.
    Utilización de escenarioso casos de uso  Los casos de uso facilitan la elicitación de requisitos y son fácilmente comprensibles por los clientes y usuarios.  La utilización de los casos de uso como técnica tanto de elicitación como de especificación de los requisitos funcionales del sistema.
  • 17.
    Tipos de requisitos(Juan Palacios)  Funcionales: definen el comportamiento del sistema o tareas que el sistema debe realizar.  No funcionales: definen aspectos, que sin ser funcionalidades, (tareas que el sistema debe realizar) resultan deseables desde el punto de vista del usuario. Generalmente comprenden atributos de calidad: tiempos de respuesta, características de usabilidad y facilidad de mantenimiento.  De interfaz: definen las interacciones del sistema con su entorno.
  • 18.
    Tipos de requisitos(Amador Duran)  Objetivos del sistema  Requisitos de información  Requisitos funcionales - Diagramas de casos de uso - Definición de actores - Casos de uso del sistema  Requisitos no funcionales
  • 19.
  • 20.
  • 21.
    Visibles Vía Ejecución Atributode calidad Descripción Disponibilidad (Availability) Es la medida de disponibilidad del sistema para el uso. Confidencialidad (Confidentiality) Es la ausencia de acceso no autorizado a la información. Funcionalidad (Functionality) Habilidad del sistema para realizar el trabajo para el cual fue concebido. Desempeño (Performance) Es el grado en el cual un sistema o componente cumple con sus funciones designadas, dentro de ciertas restricciones dadas, como velocidad, exactitud o uso de memoria Confiabilidad (Reliability) Es la medida de la habilidad de un sistema a mantenerse operativo a lo largo del tiempo. Seguridad externa (Safety) Ausencia de consecuencias catastróficas en el ambiente. Es la medida de ausencia de errores que generan pérdidas de información Seguridad interna (Security) Es la medida de la habilidad del sistema para resistir a intentos de uso no autorizados y negación del servicio, mientras se sirve a usuarios legítimos
  • 22.
    No visibles víaejecución Atributo de calidad Descripción Configurabilidad (Configurability) Posibilidad que se otorga a un usuario experto a realizar ciertos cambios al sistema. Interoperabilidad (Interoperability) Es la medida en que trabajan correctamente componentes del sistema que fueron desarrollados separadamente al ser integrados. Integridad (Integrity) Es la ausencia de alteraciones inapropiadas de la información. Modificabilidad (Modifiability) Es la habilidad de realizar cambios futuros al sistema. Mantenibilidad (Maintainability) Es la capacidad de someter a un sistema a reparaciones y evolución. Capacidad de modificar el sistema de manera rápida y a bajo costo. Portabilidad (Portability) Es la habilidad del sistema para ser ejecutado en diferentes ambientes de computación. Estos ambientes pueden ser hardware, software o una combinación de los dos. Reusabilidad (Reusability) Es la capacidad de diseñar un sistema de forma tal que su estructura o parte de sus componentes puedan ser reutilizados en futuras aplicaciones. Escalabilidad (Scalability) Es el grado con el que se pueden ampliar el diseño arquitectónico, de datos o procedimental Capacidad de Prueba (Testability) Es la medida de la facilidad con la que el software, al ser sometido a una serie de pruebas, puede demostrar sus fallas. Es la probabilidad de que, asumiendo que tiene al menos una falla, el software fallará en su próxima ejecución de prueba
  • 23.
    Agenda  Requisitos  Modelode negocio  Bibliografía
  • 24.
    ¿Qué es unmodelo de negocio?  Un modelo del dominio es una representación visual de los conceptos sobresalientes y significativos u objetos en el dominio de interés (contexto del sistema).  Es un diccionario visual de conceptos y sus relaciones. Se usan para entender los conceptos claves y el vocabulario.  Muestra conceptos, relaciones entre conceptos y atributos de los conceptos.  Es la representación de cosas del mundo real, no componentes de software.
  • 25.
    ¿Qué no es? No es un modelo de datos.  No es un diagrama de clases de software. Aunque se usa la notación de un diagrama de clases UML.  No es una descripción del diseño del software
  • 26.
    ¿Qué es yqué no es?
  • 28.
    Ejemplo  La figuramuestra un modelo de dominio parcial, con la notación de un diagrama de clases de UML. Muestra que las clases conceptuales cliente, video tienda, y video son significativas para el dominio.  Así mismo muestra que la video tienda y el video se relacionan de una forma que es importante mostrarla (La tienda de videos almacena varios videos), y que la video tienda tiene atributos como dirección, nombre y número telefónico, que nos interesan en el dominio.
  • 29.
    Guía al modelode diseño
  • 30.
    Clases conceptuales  Elmodelo del dominio ilustra clases conceptuales o vocabulario en el dominio.  Una clase conceptual es una idea, cosa u objeto.
  • 31.
    Clases conceptuales  Símbolo:palabras o imágenes que representan la clase conceptual.  Intensión: definición de la clase.  Extensión: conjunto de ejemplos para los cuales aplica la clase conceptual.
  • 32.
    ¿Cómo se haceun modelo de dominio?  Use los requisitos que tiene hasta el momento.  Encuentre las clases conceptuales.  Dibújelas como clases en un diagrama de clases UML.  Agregue asociaciones y atributos.  Actualícelo frecuentemente sin caer en desperdicios de esfuerzo.
  • 33.
    ¿Cómo identifico lasclases conceptuales? 1. Reusar o modificar modelos existentes. 2. Usar una lista de categorías 3. Análisis lingüístico: identificar sustantivos y frases sustantivas.  Identificarlos en las descripciones textuales del dominio del problema y considerarlos como clases candidatas o atributos.  Utilizar los casos de uso para identificar sustantivos.
  • 34.
    Categorías Categorías de conceptos Transacciones de negocio (Criticas si involucran dinero)  Ítems de transacciones, líneas de artículos.  Producto o servicio relacionado a la transacción.  Objetos físicos o tangibles (Relevante en software de control de dispositivos o simulaciones)  Especificaciones, diseños o descripción de cosas. Catálogos.  Lugares de transacciones o donde se presta el servicio.  Roles de personas u organizaciones, actores . (Partes involucradas en la transacción)  Contenedores de cosas o información. Cosas en el contenedor.  Registros financieros, contratos, aspectos legales.  Instrumentos financieros  Manuales, horarios, documentos. Ejemplos  Venta, Pago. Reserva.  Línea de productos.  Ítem de venta.  POS (point of sale)  Descripción de productos, Catálogo de productos. Descripción de vuelos  Almacén, aeropuerto, avión  Cajero, cliente. Pasajero, aerolínea.  Almacén, estante, bodega. Avión. Artículo. Pasajero.  Registro de mantenimiento, libro mayor.  Cheque, tarjeta crédito, efectivo. Tiquetes.  Lista de precios. Calendario de reparaciones.
  • 35.
    Atributos vs clases Si no podemos identificar una clase conceptual como número o texto en el mundo real, probablemente es una clase y no un atributo.  Los atributos son datos simples.
  • 36.
    Asociaciones  Una asociaciónes una relación entre conceptos que indica alguna conexión significativa e interesante.
  • 37.
    ¿Qué no sonlas asociaciones?  Un modelo de flujo de datos  Claves foráneas de una bases de datos  Instancias de variables  Conexiones de objetos de software
  • 38.
    ¿Cómo se nombranlas asociaciones?  La dirección de lectura por defecto para la asociación es de izquierda a derecha y de arriba a abajo.  El nombre debe comenzar con mayúscula porque la asociación representa un clasificador de enlaces entre instancias. (UML )  Cada extremo de la asociación es llamado ROL. (tiene multiplicidad)
  • 39.
    Multiplicidad  La multiplicidaddefine cuantas instancias de una clase se pueden relacionar con una instancia de otra clase, en un momento del tiempo particular.  Puede existir más de una asociación entre dos clases  Por ejemplo, una instancia de Store puede ser asociada con “varias” (cero o mas) instancias de Item.
  • 40.
    Atributos  Es unvalor de un dato lógico de un objeto que necesita ser recordado. Algunos atributos son derivados de otros.  Datos primitivos –Números, caracteres, booleanos  Tipos de datos compuestos comunes –Date, time, dateTime, dirección, número de telefono, código de barras, etc.  Las conexiones a otros conceptos se representan como asociaciones y no como atributos.
  • 41.
  • 42.
    ¿Cuándo descomponer ensubclases?  La subclase adiciona atributos de interés.  La subclase adiciona asociaciones de interés.  El concepto de la subclase es operado, o manipulado diferentemente que la superclase u otras subclases.
  • 43.
  • 44.
    Agenda  Requisitos  Modelode negocio  Bibliografía
  • 45.
    Bibliografía  Amador DuránToro, Beatriz Bernárdez Jiménez, "Metodología para la Elicitación de Requisitos de Sistemas Software", Versión 2.3, Informe Técnico LSI–2000–10 (revisado), Universidad de Sevilla.  Booch, G., Rumbaugh, J., & Jacobson, I. (1999). The UML Modeling LanguageUser Guide. Adisson-Wesley.  Pressman R. (2002) Ingeniería de Software. Un Enfoque Práctico. Quinta Edición. Mc Graw Hill.  Larman, C. “UML y Patrones. Introducción al Análisis y Diseño Orientado a Objetos y al Proceso Unificado”. Prentice Hall, 2004.  Grupo de Investigación Kybele. Ingeniería de Requisitos y Calidad de Producto. Universidad Rey Juan Carlos
  • 47.