presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

37
HEINSOHN Software House | Fábrica software HEINSOHN Software House | Fábrica software HEINSOHN Software House | Grupo de Ingeniería © 2008 HEINSOHN Corporation Ing. Teresa Samaniego Docente de la Universidad Agraria del Ecuador Levantamiento de requerimientos

Upload: john-alava-torres

Post on 11-Feb-2017

66 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareHEINSOHN Software House | Fábrica software

HEINSOHN Software House | Grupo de Ingeniería

© 2008 HEINSOHN Corporation

Ing. Teresa SamaniegoDocente de la Universidad Agraria del Ecuador

Levantamiento de requerimientos

Page 2: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Agenda

►Objetivos►Conceptos Claves►Metodología de Levantamiento►Modelamiento de Procesos►Casos de Uso►Entregables y Criterios de Aceptación►Bibliografía

Page 3: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Objetivos

►Conocer las reglas de juego que se tendrán para llevar a cabo el levantamiento de requerimientos

►Conocer el proceso metodológico que será utilizado para llevar a cabo el levantamiento de requerimientos en TC

►Conocer en detalle el proceso de especificación de requerimientos funcionales utilizando casos de uso

►Identificar las características principales de los casos de uso

Page 4: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Conceptos claves

►Proceso: Es un conjunto de pasos parcialmente ordenados que buscan alcanzar una meta u objetivo

►Disciplina: Es una colección de actividades interrelacionadas asociadas a un área específica de trabajo

►Flujo de Trabajo: Un flujo de trabajo es una secuencia de actividades que produce un resultado significativo y es observable

►Actividad: Una actividad es algo que un rol hace para proveer un resultado significativo dentro del contexto de un proyecto

Page 5: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Conceptos claves

►RUP: Rational Unified Process (Proceso Unificado de Desarrollo). Metodología que integra mejores prácticas para la ejecución de las diferentes etapas de un proceso de desarrollo

►Diagrama de proceso: Modelo de procesos; también diagrama de actividades del proceso

►Caso de uso: Un caso de uso es un artefacto cuyo objetivo principal es capturar el comportamiento del sistema, a través de una secuencia de acciones (flujo de trabajo), que desde la perspectiva del usuario final permiten alcanzar los objetivos deseados

Page 6: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Metodología de levantamientoMetodología de levantamiento

Page 7: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Metodología

Reunión Preliminar

Cliente

Analista Líder

Analista

Convenciones Roles

Planeación del ciclo de levantamiento

Reunión de Lanzamiento

Page 8: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Metodología

Presentaciones generalesdel negocio

Cliente

Analista Líder

Analista

Convenciones Roles

Revisar documentación entregada por el cliente

Solicitar documentación adicional

Reunión de Lanzamiento

Recolectar documentaciónadicional

El cliente tiene susProcesos modelados ?

SI

Documentaciónsuficiente ?

NO

SI

NO

Page 9: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Metodología

Cliente

Analista Líder

Analista

Convenciones Roles

Elaboración y ajustes del documento de Visión

Revisión Documento de Visión

Aprobación Documento de Visión

Revisión OK ?

NOSI

Documento aprobado ?

Preparación agendade entrevistasSI

Notificar compromiso a entrevistados

Preparación y ejecuciónde entrevistas

Page 10: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Metodología

Cliente

Analista Líder

Analista

Convenciones Roles

Preparación y Ejecución de Entrevistas

Elaboración del modelode proceso propuesto

Identificación de Reglas de Negocio

Identificación y elaboración del

Glosario

Solicitar entrevistasadicionales

Page 11: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Metodología

Cliente

Analista Líder

Analista

Convenciones Roles

Revisión Artefactosde Proceso

Ajuste Artefactosde Proceso

NO

Revisión OK ?

Aprobación Modelo de Procesos

SI

Definición Preliminardel Alcance

Aprobación DefiniciónPreliminar del Alcance

Ajustes Definición Preliminar del Alcance

Planeación detalladade especificaciones

Aprobación planeación detallada

Modelo deProcesos OK ?

SI

NO

NOSI

Definición Preliminar OK ?

Page 12: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

MetodologíaAprobación planeación detallada

Refinar definicióndel alcance

Aprobar ajustes a ladefinición del alcance

Especificar casosde uso

Aprobación casos deuso terminados

Casos de usoaprobados ?

NO

Elaborar arquitecturade casos de uso

Solicitar y ejecutarSesiones de aclaraciones

Refinar Glosario

Especificar Reglas de Negocio

Crear relacionesde trazabilidad

SI

Page 13: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Metodología

Cliente

Analista Líder

Analista

Convenciones Roles

Aprobación planeación detallada

Especificar requerimientosNo funcionales

Elaborar y documentarPrototipo / StoryBoards

Revisión Artefactosde Requerimientos

Artefactos OK ?

Aprobación Artefactosde Requerimientos

Cerrar fase derequerimientos

Ajustes Artefactosde Requerimientos

Procedimiento deControl de Cambios

SI

NO

Artefactos OK ?

SI

NOCambios en losrequerimientos ?

SI

NO

Page 14: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Modelamiento de procesosModelamiento de procesos

Page 15: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Elementos

►Estados Inicial y Final: Todo proceso debe tener un inicio y un fin. Los elementos Inicio no reciben ninguna entrada y los elementos Final no generan ninguna salida

►Actividad: Representa un paso atómico de un proceso

Inicio

Final

cd Due Diligence pre para ...

«ROL Analista de DD»Pr0074 Seleccionar

archivos planos

Actividad

Page 16: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Elementos

►Enlace: Los enlaces se utilizan para representar la transición de un estado a otro y el paso de una actividad a otra

► Decisión: Se utiliza para representar caminos alternativos en el flujo del proceso. Tiene una única entrada y puede tener dos o más salidas. Por cada salida se tiene una expresión booleana que será evaluada al llegar a la bifurcación. Las condiciones deben ser excluyentes y se deben contemplar todos los posibles casos que se puedan generar

Enlace

Page 17: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Elementos

►Fork / Join: Para representar las tareas concurrentes que pueden formar parte de un proceso se utiliza el elemento Fork. En el diagrama de ejemplo las actividades 2 y 3 se pueden ejecutar concurrentemente. El elemento Join se utiliza para representar la unión al flujo de control secuencial del proceso

Page 18: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Elementos

►Signal Sending: Representa el envío de un mensaje

►Signal Receipt: Representa la recepción de un evento o mensaje

Page 19: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Casos de usoCasos de uso

Page 20: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

¿Qué es un caso de uso?

►Artefacto cuyo objetivo principal es capturar el comportamiento del sistema, a través de una secuencia de acciones (flujo de trabajo), que desde la perspectiva del usuario final permiten alcanzar los objetivos deseados

►Un caso de uso describe lo QUE debe hacer el sistema para satisfacer un requisito, NO COMO debe hacerlo

►El caso esta compuesto por uno o más flujos (secuencia de acciones) y es invocado por un actor (usuario o sistema)

Page 21: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

¿Qué es un caso de uso?

►Los casos de uso describen la interacción del usuario con el sistema

►La especificación de la interacción debe contemplar posibles flujos alternos ante distintas condiciones que se pueden dar en medio

Actor Sistema

Acción 1

Acción 2

Acción 3

Page 22: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Elementos de Caso de Uso

► Actor: Es un rol que un usuario juega en el sistema. No necesariamente es una persona. Puede estar representado por un grupo de usuarios, otro sistemas o hardware

► Flujo Básico de Eventos: Corresponde al flujo de eventos cuando todas las circunstancias son ideales (todas las validaciones son cruzadas exitósamente).● Se deben numerar cada uno de los pasos● En cada paso hay que describir la acción

efectuada por el actor o por el sistema

Page 23: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Elementos de Caso de Uso

►Flujos Alternos: Toda situación que impida que se pueda llevar a cabo el flujo normal como está presupuestado. Habitualmente validaciones.● Tipos de validaciones:

• Sintácticas : Inherentes a la naturaleza del dato : Obligatoriedad, tipo de dato, rango y formato

• Semánticas : A partir del significado del dato o conjunto de datos (Reglas del Negocio)

● Se debe indicar el paso en el que se da la situación, la situación, la acción del sistema y a qué paso se retorna

Page 24: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Elementos de Caso de Uso

►Pre-condiciones: Preconcepciones acerca del sistema que deben darse para que se pueda llevar a cabo el caso de uso como esta concebido

►Post-condiciones: Especifica cual es el resultado de valor que genera el caso de uso (cómo modifica su entorno)

Page 25: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Ejemplo

CASO DE ESTUDIO DEL RESTAURANTE “O SOLE MIO”El restaurante “O Sole Mío” desea construir una solución que le permita administrar la elaboración de los diversos platos que ofrece a sus clientes. Para esto, el administrador quiere que se maneje una relación de cada plato junto con los ingredientes necesarios para elaborarlo. Cada relación de ingrediente debe tener la cantidad y costo del mismo. De esta manera, también será posible establecer el costo del plato. El precio cobrado a los clientes siempre será un porcentaje fijo por encima de la suma de los costos de los ingredientes que se requieren para su elaboración. Con esta información registrada, Don Vittorio Corleogni (su gerente y dueño) desea obtener solo dos servicios:•Que el cocinero, cuando lea una orden escrita por un mesero, consulte en el sistema el plato y conozca cómo elaborar el mismo, junto con sus ingredientes y cantidades.•Que el cajero, al momento de elaborar la cuenta, consulte cada plato y el sistema le diga cuánto cobrar por él. Con ésta información, el cajero puede calcular (con calculadora) el costo total de la cuenta.

Page 26: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Ejemplo

uc Primary Use Cases

System Boundary

Consultar elaboración de plato

Cocinero

Consultar plato

Cajero

Roles

Asociaciones

Casos de uso

Page 27: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Ejemplo

►Consultar elaboración de un plato● Breve Descripción: Permite la consulta de la

elaboración e ingredientes de un plato● Entradas: Código del plato. Es un campo

alfanumérico. Es obligatorio● Flujo Básico de Eventos

1. El sistema solicita le sea ingresado el código del plato2. El actor digita el código del plato y acepta3. El sistema despliega la información del plato: nombre, elaboración

y la lista de ingredientes con código, nombre y cantidad

Page 28: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Ejemplo

►Flujos alternativos● Código del plato no ingresado

1. Si en el paso 1, no se ingresa ningún codigo, el sistema informa del error y retorna al paso 1 (Obligatoriedad)

● Código del plato no existente2. Si en el paso 1 se ingresa un código de plato que no existe

registrado en el sistema, el sistema informa del error y retorna al paso 1 (validación semántica)

Page 29: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Ejemplo

►Pre-condiciones● El sistema cuenta con todo el registro de los platos y sus

elaboraciones►Post-condiciones

● El sistema despliega los datos de la elaboración del plato junto con sus ingredientes

Page 30: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Relaciones de los casos de uso

► Herencia● Relación entre

actores en la cual los roles hijos heredan todos los casos de uso en los cuales interviene el padre

uc Primary Use Cases

System Boundary

Funcionario de Pedidos

(from Actors)

Funcionario de pedido de personas jurídicas

(from Actors)

Funcionario de pedidos de personas naturales

(from Actors)

Consultar estado de cartera

Registrar pedidos personas naturales

Registrar pedidos personas jurídicas

Page 31: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Relaciones de los casos de uso

►Inclusión● Se factoriza una interacción en un conjunto de casos (al

menos 2) uc Primary Use Cases

Administrador

(from Actors)

Consultar estado cartera

Cancelar pedido

Validar usuario y password

«include»

«include»

Los dos casos de uso incluyen en su narración la validación del usuario y password

1. El sistema solicita le sea ingresado el usuario y la palabra clave

2. El actor digita los datos y acepta3. El sistema verifica el usuario y el password y

genera un mensaje de éxito

Page 32: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Relaciones de los casos de uso

►Extensión● Permite que se pueda extender un flujo de eventos de un

caso hacia otro caso de uso bajo una situación excepcional

uc Primary Use Cases

Administrador

(from Actors)

Consultar pedido Cancelar pedido«extend»

Luego de consultar un pedido, el actor puede ir al caso de uso de Cancelar pedido

Page 33: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Malas prácticas

► El sistema solicita le sea ingresado el dato del plato● El diseñador y el programador NO saben cuál es el dato. Debe

enunciarse específicamente qué datos son ingresados en cada paso de un caso de uso.

► El sistema despliega la información del plato● El diseñador y el programador no saben cuáles son los datos

que se deben desplegar o contemplar en este caso de uso► El sistema despliega la información del plato: nombre, elaboración y

lista de ingredientes● El diseñador y el programador NO saben qué datos desplegar

para los ingredientes = información incompleta

Page 34: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Algunos entregables

►Documento de visión►Cronograma y resumen del proyecto►Definición preliminar de alcance

● Casos de uso suficientes que soportan el proceso►Modelo de procesos►Matriz de trazabilidad de Procesos vs. Casos de uso►Especificaciones de casos de uso►Glosario►Reglas de negocio

● Solo las utilizadas por algún caso de uso

Page 35: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Algunos entregables

►Prototipo►Especificación no funcional

Page 36: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

Preguntas

© 2008 HEINSOHN Corporation

Page 37: Presentacin levantamientoyanlisisderequerimientos-131014183838-phpapp01

HEINSOHN Software House | Fábrica softwareIng. Teresa Samaniego Cobo Analisis de Sistemas

GraciasCamilo Andrés Rivera DamelinesConsultor [email protected]

© 2008 HEINSOHN Corporation