SlideShare una empresa de Scribd logo
1 de 47
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

Más contenido relacionado

La actualidad más candente

User Story Mapping - Proceso de construcción
User Story Mapping - Proceso de construcciónUser Story Mapping - Proceso de construcción
User Story Mapping - Proceso de construcciónMarco Avendaño
 
Cómo planificar y desarrollar pruebas de usabilidad con usuarios. Juan Manuel...
Cómo planificar y desarrollar pruebas de usabilidad con usuarios. Juan Manuel...Cómo planificar y desarrollar pruebas de usabilidad con usuarios. Juan Manuel...
Cómo planificar y desarrollar pruebas de usabilidad con usuarios. Juan Manuel...enriquestanz
 
Díme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarKiberley Santos
 
Grupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwareGrupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwarePrimoLaura
 
Simone brighina implantación metodología kanban para ioPlanto
Simone brighina   implantación metodología kanban para ioPlantoSimone brighina   implantación metodología kanban para ioPlanto
Simone brighina implantación metodología kanban para ioPlantoSimone Brighina
 
Modelo de Desarrollo. Modelo por Etapas
Modelo de Desarrollo. Modelo por EtapasModelo de Desarrollo. Modelo por Etapas
Modelo de Desarrollo. Modelo por Etapasyeimy26
 
Comprension de los requerimientos
Comprension de los requerimientosComprension de los requerimientos
Comprension de los requerimientosTensor
 
Metodología Cascada
Metodología CascadaMetodología Cascada
Metodología CascadaJesus Zuñiga
 
modelo prototipo ing. de software
modelo prototipo ing. de softwaremodelo prototipo ing. de software
modelo prototipo ing. de softwareASDFGHJSWDFGHJMNFSD
 
Metodología gestión de requerimientos
Metodología gestión de requerimientosMetodología gestión de requerimientos
Metodología gestión de requerimientosErik Mik
 

La actualidad más candente (17)

User Story Mapping - Proceso de construcción
User Story Mapping - Proceso de construcciónUser Story Mapping - Proceso de construcción
User Story Mapping - Proceso de construcción
 
Modelos software
Modelos softwareModelos software
Modelos software
 
Cómo planificar y desarrollar pruebas de usabilidad con usuarios. Juan Manuel...
Cómo planificar y desarrollar pruebas de usabilidad con usuarios. Juan Manuel...Cómo planificar y desarrollar pruebas de usabilidad con usuarios. Juan Manuel...
Cómo planificar y desarrollar pruebas de usabilidad con usuarios. Juan Manuel...
 
Díme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usar
 
Introducción a Técnicas Agiles y Scrum : Dia 1
Introducción a Técnicas Agiles y Scrum  : Dia 1Introducción a Técnicas Agiles y Scrum  : Dia 1
Introducción a Técnicas Agiles y Scrum : Dia 1
 
Metodologias
MetodologiasMetodologias
Metodologias
 
Grupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwareGrupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-software
 
Simone brighina implantación metodología kanban para ioPlanto
Simone brighina   implantación metodología kanban para ioPlantoSimone brighina   implantación metodología kanban para ioPlanto
Simone brighina implantación metodología kanban para ioPlanto
 
Modelo de Desarrollo. Modelo por Etapas
Modelo de Desarrollo. Modelo por EtapasModelo de Desarrollo. Modelo por Etapas
Modelo de Desarrollo. Modelo por Etapas
 
Comprension de los requerimientos
Comprension de los requerimientosComprension de los requerimientos
Comprension de los requerimientos
 
PRES162
PRES162PRES162
PRES162
 
2 modelos de la ingenieria de software
2  modelos de la ingenieria de software2  modelos de la ingenieria de software
2 modelos de la ingenieria de software
 
Metodología Cascada
Metodología CascadaMetodología Cascada
Metodología Cascada
 
Patrones de Proceso BPM
Patrones de Proceso BPMPatrones de Proceso BPM
Patrones de Proceso BPM
 
Introduccion a Scrum
Introduccion a ScrumIntroduccion a Scrum
Introduccion a Scrum
 
modelo prototipo ing. de software
modelo prototipo ing. de softwaremodelo prototipo ing. de software
modelo prototipo ing. de software
 
Metodología gestión de requerimientos
Metodología gestión de requerimientosMetodología gestión de requerimientos
Metodología gestión de requerimientos
 

Destacado (13)

Uml
UmlUml
Uml
 
Elevator pitch
Elevator pitchElevator pitch
Elevator pitch
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
Scrum
ScrumScrum
Scrum
 
Metodologías agiles
Metodologías agilesMetodologías agiles
Metodologías agiles
 
Ceremonias scrum
Ceremonias scrumCeremonias scrum
Ceremonias scrum
 
Retrospectiva
RetrospectivaRetrospectiva
Retrospectiva
 
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
 
MVC
MVCMVC
MVC
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 
BDD TDD ATDD
BDD TDD ATDDBDD TDD ATDD
BDD TDD ATDD
 
Servicios web
Servicios webServicios web
Servicios web
 
Calidad en el desarrollo del software
Calidad en el desarrollo del softwareCalidad en el desarrollo del software
Calidad en el desarrollo del software
 

Similar a Modelo negocio

Proceso Unificado de Desarrollo
Proceso Unificado de DesarrolloProceso Unificado de Desarrollo
Proceso Unificado de DesarrolloFausto J Loja Mora
 
Ingeniería de requisitos
Ingeniería de requisitos Ingeniería de requisitos
Ingeniería de requisitos CHICATEC
 
Exposicion.ppt
Exposicion.pptExposicion.ppt
Exposicion.pptEmiAkd
 
Unidad I Requerimientos
Unidad I RequerimientosUnidad I Requerimientos
Unidad I Requerimientosguest409adc
 
Presentación de Sistemas II
Presentación de Sistemas IIPresentación de Sistemas II
Presentación de Sistemas IIAnthoni Cedeno
 
2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).pptMatasEnriqueFarasPea
 
Taller requisitos
Taller requisitosTaller requisitos
Taller requisitosNando Lopez
 
Taller requisitos
Taller requisitosTaller requisitos
Taller requisitosNando Lopez
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitosIsrael Rey
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Softwareeeencalada
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosWilfredo Mogollón
 
Planificación y Modelado
Planificación y ModeladoPlanificación y Modelado
Planificación y ModeladoDiaNa González
 
Unidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxUnidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxRunayli
 
Ingeniería De Requisitos
Ingeniería De RequisitosIngeniería De Requisitos
Ingeniería De RequisitosssharLudena
 
Ingeniería De Requisitos
Ingeniería De RequisitosIngeniería De Requisitos
Ingeniería De RequisitosssharLudena
 
presentacion_edisleynissilva
presentacion_edisleynissilvapresentacion_edisleynissilva
presentacion_edisleynissilvaeddysilva18
 
ADS - Sesion1 - RUP
ADS - Sesion1 - RUPADS - Sesion1 - RUP
ADS - Sesion1 - RUPwilly0303
 

Similar a Modelo negocio (20)

Proceso Unificado de Desarrollo
Proceso Unificado de DesarrolloProceso Unificado de Desarrollo
Proceso Unificado de Desarrollo
 
Ingeniería de requisitos
Ingeniería de requisitos Ingeniería de requisitos
Ingeniería de requisitos
 
Exposicion.ppt
Exposicion.pptExposicion.ppt
Exposicion.ppt
 
Unidad I Requerimientos
Unidad I RequerimientosUnidad I Requerimientos
Unidad I Requerimientos
 
Presentación de Sistemas II
Presentación de Sistemas IIPresentación de Sistemas II
Presentación de Sistemas II
 
2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt
 
Taller requisitos
Taller requisitosTaller requisitos
Taller requisitos
 
Taller requisitos
Taller requisitosTaller requisitos
Taller requisitos
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitos
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Software
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetos
 
Pym
PymPym
Pym
 
Planificación y Modelado
Planificación y ModeladoPlanificación y Modelado
Planificación y Modelado
 
Pym
PymPym
Pym
 
Unidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxUnidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptx
 
Tipos de requerimeintos
Tipos de requerimeintosTipos de requerimeintos
Tipos de requerimeintos
 
Ingeniería De Requisitos
Ingeniería De RequisitosIngeniería De Requisitos
Ingeniería De Requisitos
 
Ingeniería De Requisitos
Ingeniería De RequisitosIngeniería De Requisitos
Ingeniería De Requisitos
 
presentacion_edisleynissilva
presentacion_edisleynissilvapresentacion_edisleynissilva
presentacion_edisleynissilva
 
ADS - Sesion1 - RUP
ADS - Sesion1 - RUPADS - Sesion1 - RUP
ADS - Sesion1 - RUP
 

Más de Joan Sebastián Ramírez Pérez (20)

Clean architecture
Clean architectureClean architecture
Clean architecture
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Bddtddatdd
BddtddatddBddtddatdd
Bddtddatdd
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Orm
OrmOrm
Orm
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Ciclo devida
Ciclo devidaCiclo devida
Ciclo devida
 
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
Roles scrum
Roles scrumRoles scrum
Roles scrum
 
Lean startup
Lean startupLean startup
Lean startup
 
Principios SOLID
Principios SOLIDPrincipios SOLID
Principios SOLID
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Refactor y deuda técnica
Refactor y deuda técnicaRefactor y deuda técnica
Refactor y deuda técnica
 
Diagramas comportamiento
Diagramas comportamientoDiagramas comportamiento
Diagramas comportamiento
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 

Último

Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 

Último (7)

Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 

Modelo negocio

  • 1. Modelo de negocio Joan Sebastián Ramírez Pérez 2015
  • 2. Agenda  Requisitos  Modelo de negocio  Bibliografía
  • 3. Agenda  Requisitos  Modelo de negocio  Bibliografía
  • 4. ¿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.
  • 5. ¿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.
  • 6. Los requisitos deben ser:  Posibles  Necesarios  Priorizados  Concretos  Verificables
  • 7. 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
  • 12. 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.
  • 13. 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.
  • 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 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).
  • 16. 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.
  • 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
  • 21. 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
  • 22. 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
  • 23. Agenda  Requisitos  Modelo de negocio  Bibliografía
  • 24. ¿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.
  • 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 y qué no es?
  • 27.
  • 28. 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.
  • 29. Guía al modelo de diseño
  • 30. Clases conceptuales  El modelo 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 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.
  • 33. ¿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.
  • 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ón es una relación entre conceptos que indica alguna conexión significativa e interesante.
  • 37. ¿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
  • 38. ¿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)
  • 39. 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.
  • 40. 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.
  • 42. ¿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.
  • 44. Agenda  Requisitos  Modelo de negocio  Bibliografía
  • 45. 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
  • 46.