37
Ingeniería en Sistemas Computacionales Fundamentos de Ingeniería de Software Unidad I: Modelo de Negocios Este material está desarrollado para la asignatura Ingeniería de Software, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224 INGENIERÍA DE SOFTWARE

Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Embed Size (px)

Citation preview

Page 1: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Ingeniería en Sistemas ComputacionalesFundamentos de Ingeniería de Software

Unidad I: Modelo de Negocios

Este material está desarrollado para la asignatura Ingeniería de Software, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224

INGENIERÍA DE SOFTWARE

Page 2: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Temario de la Asignatura

INGENIERÍA DE SOFTWARE

Competencia: Desarrolla la habilidad para generar propuestas de modelos de negocios de proyectos de software.

Page 3: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Definición de Ingeniería del Software (IS)

• La IS es una disciplina o área de la Informática o ciencias de la Computación, que ofrece métodos y técnicas para desarrollar, mantener y documentar software de calidad qué, resuelve problemas de todo tipo, se ejecuta en máquinas reales y satisface las necesidades del cliente.

INGENIERÍA DE SOFTWARE

Page 4: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

¿Qué es software?

• Programas de cómputo y su documentación asociada: requerimientos, modelos de diseño y manuales de usuario

• El software puede ser desarrollado para un cliente en particular o para un mercado general

INGENIERÍA DE SOFTWARE

Page 5: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

¿Quién lo hace?

• Los Ingenieros de Software lo construyen y lo mantienen, en la sociedad industrial y las posteriores a ella casi todos los profesionistas lo utilizan.

INGENIERÍA DE SOFTWARE

Page 6: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Características del Software

• El software se desarrolla o construye, no se manufactura como otros productos.

• El software no se desgasta.• La mayor parte del software en el mercado es construido a

la medida.

INGENIERÍA DE SOFTWARE

Page 7: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

El modelo de negocios es el estudio de la organización• Durante el proceso de modelado del negocio, se examina la

estructura de la organización y se observan los roles en la compañía y como estos se relacionan.

• También se examina el flujo de trabajo de la organización, los procesos principales dentro de la compañía y como ellos trabajan. Además, se deben examinar las entidades externas, cualquier individuo u otras compañías, y como interactúan con el negocio, y observar las implicaciones de esas interacciones.

INGENIERÍA DE SOFTWARE

Page 8: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Conocimiento de la visión organizacional• Al construir un sistema de software, se puede usar el modelo de

negocios para conocer y documentar que hace la organización.

Reingeniería de procesos del negocio• Uno de los principales artefactos del modelo de negocios es el flujo

de trabajo de la organización. En base a esto el equipo de reingeniería de negocios puede examinar los diagramas y analizar posibles cambios de flujo de trabajos.

INGENIERÍA DE SOFTWARE

Page 9: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Entrenamiento

• Si un nuevo proceso es desarrollado o un nuevo miembro del personal acaba de ingresar al equipo, los resultados del modelo de negocios puede ser una herramienta de gran alcance para el entrenamiento.

• Estos diagramas simples indican claramente, cuáles son las responsabilidades de cada persona dentro del flujo de trabajo. Ayudan a asegurar que cada uno tenga una visón común de los procesos del negocio y de los papeles dentro de ellos.

INGENIERÍA DE SOFTWARE

Page 10: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

¿Porque modelar el negocio?Contexto para una solución de software• El modelado del negocio puede ayudarnos a comprender el contexto

del sistema que se esta construyendo.

• Mientras que esto puede sonar trivial, puede tener consecuencias serias en el éxito o el termino de un proyecto de software. Si no podemos entender el negocio, se pueden presumir conceptos erróneos sobre lo que debe hacer el software y cómo puede ser utilizado lo mejor posible por la comunidad del negocio.

El "mundo alrededor del sistema" es una consideración importante al construir software.

INGENIERÍA DE SOFTWARE

Page 11: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

¿Cuándo será necesario hacer el modelo del negocio?Si es necesario cuando: Cuando el grupo de trabajo es nuevo en la organización. Cuando la organización a enfrentado un reciente proceso de re-ingeniería de

negocios. Cuando la organización esta planificando un proceso de re-ingeniería de negocios. Cuando el software a construir será utilizado por una porción importante de la

organización. Existen flujos de trabajo complejos dentro de la organización que no están

documentados. Cuando se es un consultor en una organización en la cuál no se a trabajado antes.

INGENIERÍA DE SOFTWARE

Page 12: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

¿Cuándo será necesario hacer el modelo del negocio?No es necesario cuando:

Cuando se tiene un conocimiento de la estructura de la organización, de las metas, de la visión y de los clientes/usuarios.

Cuando el software a construir será usado por una pequeña parte de la organización, y no tiene un efectos en el resto del negocio.

Cuando los flujos de trabajo de la organización están bien documentados.

Cuando el tiempo lo permita, no todos los procesos tiene el tiempo necesario para completar un análisis de negocio.

INGENIERÍA DE SOFTWARE

Page 13: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

El modelo de negocios en el proceso iterativoExisten dos formas para el acercamiento del modelo de negocios al proceso iterativo.

• La primera, es terminar primero el modelo de negocios y luego comenzar con las iteraciones.

La ventaja es que permite comprender completamente el comportamiento del negocio antes de comenzar el diseño del sistema como un todo.

La desventaja es que los usuarios o clientes del extremo pueden desear conseguir el sistema rápidamente y no estarán dispuesto a esperar por el análisis del negocio primero.

INGENIERÍA DE SOFTWARE

Page 14: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

• La segunda forma, es incluir el modelo de negocios dentro del ciclo de vida.

Esto tiene la ventaja de dejarle estudiar la organización a medida que se crea el sistema de software.

Claro que se corre el riesgo del mal entendiendo de la organización, y por lo tanto el sistema de software en construcción no resuelve absolutamente las necesidades.

INGENIERÍA DE SOFTWARE

Page 15: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Objetivo

Comprender el conjunto de procesos de negocio que tienen lugar dentro de una empresa, como paso previo a establecer los requisitos del sistema a desarrollar.

¿Cómo consigue la empresa sus objetivos?

INGENIERÍA DE SOFTWARE

Page 16: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Proceso de Negocio

Una organización tiene una serie de objetivos que satisface a través de Procesos de Negocio

Elementos de un proceso de negocio: – Flujo de Tareas, Agentes, Información y Reglas Negocio

• Reglas de Negocio regulan el funcionamiento de la empresa – Describen restricciones y comportamientos – NO son requisitos, pero influyen en ellos

INGENIERÍA DE SOFTWARE

Page 17: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Proceso del Negocio

Reglas del Negocio• Determina políticas y estructuras de la información.

INGENIERÍA DE SOFTWARE

Page 18: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Sergio Sánchez Rios

EjemploEmpresa que vende productos bajo demanda

INGENIERÍA DE SOFTWARE

Page 19: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Etapas del modelado del negocio1. Identificar y definir los procesos de negocio según los objetivos de la

organización.2. Definir un caso de uso del negocio para cada proceso del negocio

(diagrama de casos de uso del negocio muestra el contexto y los límites de la organización).

3. Identificar los roles implicados en los diferentes procesos del negocio (diagrama de roles).

4. Modelar el flujo de tareas asociado a cada proceso de negocio mediante escenarios (diagramas de secuencia) y diagramas de procesos (diagramas de actividades) que muestran la interacción entre roles para conseguir el objetivo.

5. Especificar las informaciones y actividades incluidas en cada diagrama de actividad

INGENIERÍA DE SOFTWARE

Page 20: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Conceptos de modelado

Un actor del negocio, es cualquier persona o cualquier cosa externa a la organización pero que obra recíprocamente con ella.

Por ejemplo, para su organización serian los clientes, sus acreedores, sus inversionistas, o sus proveedores. Cada uno de estos actores tienen un interés en las acciones de la empresa.

En UML se modela un actor del negocio usando la siguiente figura:

El icono representa a una persona, pero el actor de negocios no es necesariamente un individuo. Puede representar a un grupo de personas o a una compañía.Cliente

(f rom Business Use-Case Model)

INGENIERÍA DE SOFTWARE

Page 21: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Un trabajador de negocios es un rol dentro de la organización. Importante, los trabajadores del negocio son roles no posiciones. Una persona puede tener varios roles, pero una sola posición.

La ventaja de diagramar roles es que estos no cambian con demasiada frecuencia en el tiempo, las posiciones si.

En UML un trabajador de negocios se representa con el siguiente icono:

Se modela al trabajador del negocio para entender los roles dentro del negocio y cómo interactúan recíprocamente estos roles. Porque describiendo a cada trabajador del negocio, podemos entender que responsabilidades incluye ese rol, qué habilidades se requieren para ese rol, y otros detalles.

Cliente

(f rom Business Use-Case Model)

INGENIERÍA DE SOFTWARE

Page 22: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Un caso de uso de negocio es un grupo de flujos de trabajo relacionados dentro de la organización que proporcionan valor a los actores del negocio.

Es decir los casos de uso de negocio dicen al lector lo que hace la organización.

El sistema de todos los casos de uso del negocio para una organización, debe describir totalmente lo que hace el negocio.

El UML los casos de uso del negocio se grafican con el siguiente icono:

Registrar Pedido

(from Business Use-Case Model)

INGENIERÍA DE SOFTWARE

Page 23: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Para cada caso de uso del negocio, se debe crear un cierto tipo de informe que permite saber específicamente qué va a suceder dentro del caso del uso.

• El flujo de trabajo se puede documentar de dos formas. La más simple es crear una lista numerada, paso a paso de qué sucede mientras que progresa el caso del uso.

• La problemática con la forma simple de escribir el flujo de trabajo, se presenta cuando existe una gran cantidad de condiciones lógicas, lo que provoca poca claridad.

• Para solucionar este problema se pueden utilizar los Diagramas de Actividad, que nos permiten mostrar de forma grafica los flujos de trabajo, la secuencia de los pasos y quien es responsable de realizar cada paso.

INGENIERÍA DE SOFTWARE

Page 24: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

DocumentaciónA cada caso de uso del negocio se le debe asociar una documentación que sigue el siguiente formato

Proceso de Negocio

Objetivo

Descripción

Prioridad

INGENIERÍA DE SOFTWARE

Page 25: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Diagrama de casos de uso del negocios

Los diagramas de casos de uso del negocio muestran casos de uso del negocio, actores del negocio y trabajadores del negocio, organizados y las interacciones entre ellos.

INGENIERÍA DE SOFTWARE

Page 26: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Una entidad de negocio es un objeto que la organización utiliza en su negocio o produce durante el curso de su negocio. Las entidades incluyen cosas que los trabajadores del negocio usan de forma cotidiana.

Para detectar las entidades de negocios, se pueden hacer preguntas como: ¿Qué productos la compañía produce?, ¿Qué servicios la compañía proporciona? ¿Qué artículos la compañía compra para hacer su trabajo?, ¿Cuáles son los artículos que entrega o/ recibe de sus clientes?, ¿Qué artículos se pasan de trabajador del negocio a otros trabajadores del negocio para procesar?.

Otro truco es mirar los sustantivos en los nombres de los casos del uso del negocio que usted ha definido. Para la mayor parte, cada sustantivo es una entidad de negocio.

En UML las entidades de negocios se grafican de la siguiente forma:

INGENIERÍA DE SOFTWARE

Page 27: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Factura

(f rom Business Use-Case Model)

En UML las entidades de negocios se grafican de la siguiente forma:

Se pueden refinar las entidades de negocio agregando atributos. Un atributo es un pedazo de información que describe la entidad. Por ejemplo, una entidad llamada cuenta pudo tener atributos tales como número de cuenta, tipo de la cuenta (corriente o ahorros), fecha apertura, fecha cierre, y estado.

INGENIERÍA DE SOFTWARE

Page 28: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Los atributos se colocan bajo la entidad.

Recordar que en este paso solo se desea modelar el negocio, NO SE DESEA CONSTRUIR UNA BASE DE DATOS.

INGENIERÍA DE SOFTWARE

Page 29: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Diagrama de Secuencia del negocioUna vez definidos los agentes o roles participantes, se crean escenarios para mostrar la colaboración entre estos.

Se pueden distinguir flujos exitosos y alternativo:

Exitosos: los que muestran la tarea completada con éxito. Alternativo: son flujos que pueden ser distintos al exitoso,

generalmente son los de fracaso o falla.

En el diagrama de secuencias por defecto se refleja el flujo de eventos exitoso. Solo cuando un flujo alternativo es complejo de entender se debe ahondar en su definición mediante un diagrama de eventos particular.

INGENIERÍA DE SOFTWARE

Page 30: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

: Alumno : Encargada Finanzas

Entrega Cuponera y Dinero

Verifica Pago de Cuponera y Reviza Dinero

Timbra cuota a pago

Entrega Cuponera Validando Pago

En un diagrama de secuencia se utiliza la siguiente simbología:

Objetos del diagrama de secuencias son los roles: actores y trabajadores del negocio.

Eventos que suceden entre lo diferentes objetos.

Eventos de respuesta ante una acción, esto mensajes son opcionales. (en el modelo de negocio se recomienda que existan)

Línea de vida del objeto, determina la participación de un objeto en una acción o tarea

INGENIERÍA DE SOFTWARE

Page 31: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Diagrama de Actividades del negocio

Un diagrama de actividad es una manera de modelar el flujo de trabajo de un caso del uso en forma gráfica. El diagrama muestra los pasos en el flujo de trabajo, los puntos de decisión en el flujo de trabajo, quien es responsable de terminar cada paso, y los objetos que son afectados por el flujo de trabajo.

Este modelo debe incluir solo información relevante.

INGENIERÍA DE SOFTWARE

Page 32: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Diagrama de Actividades del negocio - Elementos

ActividadAparece como una caja con nombre y esquinas redondeadas. Técnicamente éste es un tipo de estado que se abandona, no como respuesta a algún evento que llega desde fuera, sino cuando termina la actividad que representa.

NewActivity

INGENIERÍA DE SOFTWARE

Page 33: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Transición

Aparece como una flecha. Las transiciones en este diagrama normalmente no se etiquetan, porque la transición es provocada por la finalización de la actividad previa.

NewActivity

NewActivity2

Transición

INGENIERÍA DE SOFTWARE

Page 34: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Sergio Sánchez Rios

Barra de sincronización

Es una barra gruesa horizontal que describe la coordinación entre actividades. Una vez que todas las actividades que tienen transiciones dirigidas a la barra han terminado, pueden pasar la barra.

Almacenar Devolución

Poner libro deVuelta en estantería

Barra de Sincronización

INGENIERÍA DE SOFTWARE

Page 35: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Diamante de decisión

Se utiliza para representar las decisiones, como respuesta a las guardas de transición separadas que abandonan el mismo estado.

Marcas de creación y destrucción

Se utilizan para determinar el inicio y termino de una proceso.

INGENIERÍA DE SOFTWARE

Page 36: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

Ejemplo:

INGENIERÍA DE SOFTWARE

Page 37: Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios

BibliografíaSoftware Engineering 6a. ed. Ian Sommerville. Pearson Education. 2000.

Cap. 6.Ingeniería de Software Teoría y Práctica. Shari Lawrence Pfleeger- Pearson

Education. 2002.Utilización de UML en ingeniería del software con objetos y componentes.

Perdita Stevens & Rob Pooley. Addison Wesley. 2002.UML y Patrones una introducción al análisis y diseño orientados a objeto y al

proceso unificado. Craig Larman. Prentice Hall. 2002. Pressman, R.S. Ingeniería del Software un Enfoque Práctico. McGraw-Hill.

Madrid, España. 2008.Kendall E. K., Análisis y Diseño de sistemas. 1ª. Edición. Prentice Hall.

México. 2005.

INGENIERÍA DE SOFTWARE