Download - Sesion 1 teoría asi 2010 i
Proceso de Software
César Alcántara Loayza
CAL/Proceso de Software
Desarrollo de Software
SistemaProceso
Sistema de InformaciónModelo
Proyecto
Negocio
Metodología
CAL/Proceso de Software
Aplicaciones
CAL/Proceso de Software
Aplicaciones
CAL/Proceso de Software
Desarrollo de Software
Problemas Dimensionar para cumplir con los
tiempos y los costos. (Gestión) Manejar requerimientos. (Software)
CAL/Proceso de Software
Desarrollo de Software Para el primer problema tenemos las
metodologías de gestión de proyectos (PMP)
Para el segundo problema tenemos las metodologías de desarrollo de software, algunas veces llamadas proceso de software. (RUP – ICONIX - XP –etc.) aunque no estan desvinculadas.
CAL/Proceso de Software
Metodología : el quien, que, y cuando de interacciones clave entre
personas.
Gerente de ProyectoDocumentadorDiseñadorTester
HitosPlaneamiento
Testing
MBWAUse casesCRC cards
Modelo ObjetosPlan Proyecto
Microsoft Project3month increments
UML Java
PrecisiónExactitud
Tolerancia
Team Values
Actividades
Técnicas
Tools Habilidades
Roles
Estándares
Calidad Equipo
Artefactos
Microsoft ProjectSofware Through Pictures
Envy/Developer
ModelingJava programming
JAD facilitation
CAL/Proceso de Software
Desarrollo de Software
Para gestionar un proyecto debemos conocerlo y describirlo: Objetivo – ¿Qué? Contexto - ¿dónde? - ¿quiénes? - ¿con
quienes? – Modelo del negocio CUN Alcance – detalle del objetivo –
requerimientos de alto nivel. (+) Restricción – Limitantes del proyecto (-)
CAL/Proceso de Software
Desarrollo de Software
CAL/Proceso de Software
ElProceso UnificadoConcepción
Elaboración
Construcción Transición
Iteraciones
IT #1 IT # 2
IT # 3 IT # 4 IT # 5 IT # 6
IT # 7 IT # 8
Requisitos
Análisis y Diseño
Implementación
Prueba
Implantación
Gestión Proyecto
Modelado del NegocioModelado del Negocio
Control de Cambios
Entorno
CAL/Proceso de Software
Dimensiones La dimensión horizontal representa
el tiempo y muestra los aspectos del ciclo de vida del proceso.
La dimensión vertical representa las disciplinas núcleo del proceso (o flujos de trabajo), que agrupan actividades de ingeniería de software por su naturaleza.
CAL/Proceso de Software
Dimensión horizontal La dimensión horizontal representa
los aspectos dinámicos en términos de ciclos, fases, iteraciones y milestones (hitos). Un producto de software se diseña y construye en una sucesión de iteraciones incrementales. Permitiendo la prueba y validación así como el mitigar los riesgos.
CAL/Proceso de Software
Dimensión Vertical
Representa los aspectos estáticos del proceso descritos en términos de componentes de procesos: Actividades, disciplinas, artefactos y roles.
CAL/Proceso de Software
Ciclo de Vida Cascada
Ciclo de vida tradicional, en el que se debía terminar una tarea para continuar otra. El desarrollo del software se hacía de una sola vez.
CAL/Proceso de Software
El desarrollo de Software se construye en una sucesión de iteraciones de las disciplinas e incrementos en la capacidad.
Ciclo de Vida Iterativo Incremental (Evolutivo)
CAL/Proceso de Software
Sucesión de iteraciones incrementales
Artefactos : Producto del trabajo
CAL/Proceso de Software
Ciclo de desarrollo Una pasada a través de las cuatro fases es un
ciclo de desarrollo; cada paso a través de las cuatro fases produce una generación de software.
CAL/Proceso de Software
Releases
Cada Iteración en una fase resulta en una liberación (release) ejecutable del sistema
CAL/Proceso de Software
Iteración
Una iteración lleva cabo el desarrollo de actividades que conducen a producir un release del producto – una versión del producto ejecutable, estable, junto a otro conjunto de elementos periféricos necesarios para usar este release.
Es como una pequeña cascada. Un release puede ser interno o
externo.
CAL/Proceso de Software
Hitos La elección de los hitos del ciclo
de vida debería reflejar el mismo enfoque (iterativo incremental).
Las cuatro fases se concentran en remover las incertidumbres y por lo tanto manejar el acuerdo con el stakeholder de que los riesgos sean eliminados.
CAL/Proceso de Software
Desarrollo Iterativo
El uso del ciclo de vida iterativo es mejor al cascada por muchas razones: Permite estar al tanto de cambios en los
requisitos. La verdad es que los requisitos usualmente cambian.
La integración no debe ser un “big bang” al final; los elementos deben integrarse progresivamente en el tiempo.
CAL/Proceso de Software
Desarrollo Iterativo
Los riesgos, normalmente, se descubren y tratan durante la integración. Con este enfoque se pueden mitigar mas temprano.
El desarrollo iterativo proporciona un medio al gerente, para hacer cambios tácticos al producto.
CAL/Proceso de Software
Desarrollo Iterativo Facilita el reuso; es mas fácil
identificar partes comunes diseñadas o implementadas parcialmente que reconocerlas durante el planeamiento.
El proceso de desarrollo en si puede ser mejorado y refinado.
CAL/Proceso de Software
Inception : Creación La primera fase inception (creación) se
enfoca en el espacio del problema: determinando lo que el sistema necesita para ser entregado, sus límites, interacciones, servicios, y asi sucesivamente. La fase se completa cuando todos los stakeholders (grupos de interés) están de acuerdo con la descripción del sistema.
Definimos una “visión” del producto final y los casos de uso del negocio asociados, definiendo el alcance global del proyecto.
CAL/Proceso de Software
Incepción (creación)
Trabajos ejecutados en esta fase
CAL/Proceso de Software
Elaboración La segunda fase Elaboración se enfoca
en identificar una arquitectura robusta para lograr satisfacer las necesidades del stakeholder (grupo de interés).
Se refina la definición del producto, se define y se establece una línea base de la arquitectura y se desarrolla un plan mas preciso para su desarrollo y despliegue.
CAL/Proceso de Software
Elaboración
CAL/Proceso de Software
Arquitectura
Es el nivel conceptual de mas alto nivel de un sistema y su ambiente (IEEE). La arquitectura de un sistema de software (en un momento dado del tiempo), es su organización o estructura de componentes significativos que interactúan a través de interfaces, cuyos componentes estan a su vez compuestos de componentes mas pequeños e interfaces
CAL/Proceso de Software
Arquitectura Estructura organizativa de un
sistema: una arquitectura puede descomponerse recursivamente en partes que interactúan a través de interfaces, vínculos y partes conectadas y restricciones para el ensamble de sus partes. Partes que interactúan a través de una interface incluye: clases, componentes y subsistemas.
CAL/Proceso de Software
Criterios de evaluación - Elaboración
¿La visión del producto es estable? ¿La arquitectura es estable? ¿Las demostraciones ejecutables,
muestran que los principales elementos de riesgo han sido considerado y resueltos?
¿Está el plan de construcción suficientemente detallado, tiene una base creíble de estimados?.
CAL/Proceso de Software
¿Todos los stakeholder concuerdan que la visión actual se puede lograr si se ejecuta el plan para desarrollar el sistema completo, en el contexto de la arquitectura?.
¿Son aceptables los gastos en recursos actuales versus los planeados?.
Criterios de evaluación - Elaboración
CAL/Proceso de Software
Construcción
La tercera fase, construcción, se enfoca en la construcción incremental del sistema que elimine los riesgos para una entrega exitosa.
Cada una de las iteraciones en esta fase proporcionan mas capacidad que la anterior y por lo tanto puede pasar por mas pruebas del sistema.
CAL/Proceso de Software
Construcción
CAL/Proceso de Software
Transición
La cuarta fase, transición, concluye con la adopción exitosa del sistema.
El producto es entregado a la comunidad de usuarios; incluye manufactura, entrenamiento, soporte, entrega y mantenimiento del producto.
CAL/Proceso de Software
Transición Objetivos:
Lograr que el usuario sea autosuficiente. Lograr el producto tan rápido y efectivo
en costo como sea practico. Actividades:
Hacer el despliegue de ingeniería del producto, empaque, entrenamiento del personal de campo, ventas.
Actividades de afinamiento.
CAL/Proceso de Software
Participantes Equipo Roles
System Analyst
User-Interface Designer
Use case Specifier
System Integrator
Integration Tester
System Tester
Test Engineer
Requerimientos
Implementación
Test
Análisis
Use case Engineer
Architect
Diseño Component Engineer
CAL/Proceso de Software
El modelo del negocio es una técnica que permite responder algunas preguntas críticas: ¿Cómo sabe usted que ha identificado todos
los casos de uso del sistema (funcionalidades del sistema).?
¿Qué hacen los trabajadores (usuarios) antes de usar el sistema?
¿Qué valor del negocio brinda el sistema? ¿Cuál es el sistema de negocio (proceso)
que el sistema computarizado apoya?
Overview del Modelo Negocio
CAL/Proceso de Software
Propósito
El modelo del negocio no implica que se hagan cambios en la forma como se hace el negocio. Simplemente es una técnica para documentar visualmente lo que su negocio hace. Para ello existen herramientas (Websphere Bussines Process Modeler).
Modelar el negocio no deben confundirse con la ingeniería de proceso del negocio
CAL/Proceso de Software
Propósito Comprender la estructura y la dinámica de la
organización para la que se desarrolla el proyecto.
Comprender los problemas actuales de la organización y su impacto.
Asegurar que los clientes, usuarios finales y desarrolladores tengan un entendimiento común de la organización. Visión compartida.
Obtener, de forma preliminar, los requisitos del sistema que necesita la organización.
CAL/Proceso de Software
Propósito ¿Cómo aseguramos que el sistema tendrá
valor si no entendemos como, quién y en que circunstancias se usará?
Para asegurar que estamos construyendo soluciones orientadas al cliente (es decir sistemas de información que satisfacen a nuestros clientes) no debemos pasar por alto: El ambiente en el que estos sistemas trabajarán, Los roles y responsabilidades de los empleados
que usan el sistema, Las "cosas" que son manejadas por el negocio,
CAL/Proceso de Software
Beneficios
Uno de los grandes beneficios de modelar el negocio es mejorar la obtención de requisitos del sistema, requisitos que conducirán a la creación de sistemas de información que realmente encajen en la organización y sean usados por usuarios finales.
CAL/Proceso de Software
Problema
Un problema que frecuentemente se produce la dificultad para que los analistas del negocio comuniquen sus resultados eficazmente a los participantes del equipo.
Dicho problema se puede resolver usando el UML.
CAL/Proceso de Software
Modelado del Negocio
CAL/Proceso de Software
Modelado del Negocio Artefactos (Productos concretos del
trabajo) del modelo del negocio
Modelo de Casos de Uso del Negocio
Especificación de Casos de Uso del
Negocio
Modelo de Objetos del Negocio
Glosario de Términos
Visión
Actores del Negocio
Casos de Uso del Negocio
Trabajadores del Negocio
Entidades del Negocio
CAL/Proceso de Software
icono Nombre UML Definición
Actor del Negocio
Alguien o Algo, fuera del negocio que interactúa con el negocio.
Trabajador del Negocio
Rol o conjunto de roles dentro del negocio. Un trabajador del negocio interactúa con otros trabajadores del negocio y manipula entidades del negocio.
Entidad del Negocio
una "cosa" manipulada o usada por trabajadores del negocio.
Caso de uso del negocio
Una sucesión de acciones que un negocio ejecuta para producir un resultado de valor observable a un actor de negocio particular. (En este caso, sinónimo de proceso del negocio)
Notación UML Para el Modelo del Negocio
Gestión de Prestamo
Empleado Bco
Cliente
Cuenta Cliente
CAL/Proceso de Software
Notación
Realización del caso de uso del
negocio
Una colección de diagramas para mostrar como los elementos de la organización (trabajadores y entidades) son utilizados para soportar un proceso de negocio.
Unidad organizaciona o
Bussiness System
Una colección de trabajadores del negocio, entidades del negocio, vínculos, realizaciones de casos de uso del negocio, diagramas y otras unidades de la organización. Usadas para estructurar el modelo del negocio (objeto) por división en partes mas pequeñas.
Realizar gestión de prestamo
Colocaciones
CAL/Proceso de Software
Diagramas UML (M. Negocio)
Cada diagrama de UML proporciona una vista diferente del negocio: Diagramas de casos de uso describen el contexto
del negocio. Diagramas de actividad describen las conductas
en el negocio, o el flujo de trabajo del negocio. Diagramas de clase que describen la estructura
estática del negocio. Diagramas de interacción describen la
interacción dinámica entre los empleados y las cosas que ellos manipulan.
CAL/Proceso de Software
Actores del Negocio
Mundo ExteriorMundo ExteriorOrganizaciónOrganización
NegocioNegocio
CAL/Proceso de Software
Actores del Negocio ¿Dónde encontrar a los actores del
negocio? Clientes. Socios. Proveedores. Autoridades. Entidades legales y reguladoras. Sucursales. Dueños e inversionistas Sistemas informáticos fuera del negocio con
los que se interactúa. Otras partes de la organización.
CAL/Proceso de Software
Actores del Negocio La lista de los actores del negocio
se realiza especificando: Nombre del actor:
Debe dar idea clara de la función que realiza o desempeña.
Sustantivo con letra inicial mayúscula. Descripción:
Describir la función que realiza fuera del negocio y la responsabilidad que tiene para el negocio.
CAL/Proceso de Software
Trabajador del Negocio
Mundo ExteriorMundo ExteriorOrganizaciónOrganización
NegocioNegocio
CAL/Proceso de Software
Trabajador del Negocio ¿Dónde encontrar trabajadores del
negocio? Roles dentro del negocio. Personas que ejecutan los proceso o
actividades del negocio. Hardware o sistemas informáticos
dentro del negocio con los que se intercambia información directamente.
CAL/Proceso de Software
Trabajador del Negocio La lista de los trabajadores del
negocio se realiza especificando: Nombre del trabajador:
Debe dar idea clara de la función que realiza o desempeña.
Sustantivo con letra inicial mayúscula. Descripción:
Describe la función que realiza dentro del negocio y su responsabilidad.
CAL/Proceso de Software
Caso del Uso del Negocio
Mundo ExteriorMundo ExteriorOrganizaciónOrganización
NegocioNegocio
CAL/Proceso de Software
Caso del Uso del Negocio
¿Dónde encontrar casos de uso del negocio? Principales procesos del negocio. Servicios principales para el cliente. Procesos de servicio a otras
entidades.
CAL/Proceso de Software
Caso del Uso del Negocio
La lista de los casos del negocio se realiza especificando: Nombre del caso de uso:
Debe dar idea clara de las acciones a realizar. Se concibe desde el punto de vista del actor. Debe ser un verbo o una frase verbal en infinitivo.
Descripción: Se indica el objetivo fundamental del caso de uso
CAL/Proceso de Software
Caso del Uso del Negocio Al comienzo se especifica el PUNTO DE INICIO.
Es la forma en que comienza el caso de uso. Se enuncia “El caso de uso se inicia cuando...” Está delimitado por:
La ocurrencia de algún evento externo al negocio. Debido a una necesidad del actor del caso de uso.
Al final se especifica el PUNTO DE TERMINACION. Es la forma en que termina el caso de uso. Se enuncia “El caso de uso termina cuando...”
CAL/Proceso de Software
Caso del Uso del Negocio Flujo de eventos.
Describe QUÉ hace el actor y QUÉ responde el proceso del negocio y no CÓMO se implementa.
Se describen las acciones del actor y la interacción con el proceso del negocio para satisfacer la meta u objetivo propuesto.
Se establece un diálogo de dos columnas entre el actor y el proceso del negocio ordenando los pasos por secuencia de ocurrencia.
El último evento debe coincidir con el PUNTO DE TERMINACION.
Debe alcanzarse el propósito del caso de uso.
CAL/Proceso de Software
Diagrama de Actividad
Muestra la secuencia u orden de las actividades para alcanzar el objetivo del caso de uso.
Elementos: Actividades (activity states). Transiciones (transitions). Decisiones (decissions). Barras de sincronización. Roles (swimlanes).
CAL/Proceso de Software
Objetos del Negocio Identificar las entidades del
negocio (business entities). Lista de entidades del negocio.
Diagrama de Objetos del negocio. Incluye a los actores, trabajadores y
entidades del Negocio y las asociaciones entre ellos.
CAL/Proceso de Software
Entidad del Negocio Una entidad del negocio (business entity)
representa a un conjunto de información con propiedades, comportamiento y semántica similares y que es manipulado o manejado por trabajadores del negocio.
Ejemplo: Factura. Solicitud de pago. Tarjeta de crédito. Cuenta Cliente
CAL/Proceso de Software
Entidad del Negocio
Mundo ExteriorMundo ExteriorOrganizaciónOrganización
NegocioNegocio
CAL/Proceso de Software
Entidad del Negocio ¿Dónde encontrar entidades del
negocio? Áreas, departamentos, direcciones. Objetos físicos. Transacciones. Personas. Sistemas externos. Organizaciones. Socios.
CAL/Proceso de Software
Entidad del Negocio
La lista de las entidades del negocio se realiza especificando: Nombre de la entidad:
Debe dar idea clara de la función que realiza o desempeña.
Sustantivo con letra inicial mayúscula. Descripción:
Describir la función que realiza dentro del negocio.
CAL/Proceso de Software
Caso Cuentas de Ahorros Sea un Caso de Control de cuentas de
ahorros que pueden ser de tres tipos, individuales, indistintas y conjuntas.
Las personas deben llenar una solicitud de cuenta de ahorros y el especialista procederá a abrir la cuenta respectiva.
Con la tarjeta de la cuenta el cliente del banco podrá realizar las operaciones de depósito y extracción de dinero.
CAL/Proceso de Software
Paquetes Organizan El Modelo
Cuentas Atencion al Cliente
CAL/Proceso de Software
Paquete Cuentas
Apertura de CuentaCliente
(from Actores y Trabajadores)
Servicio que obtiene el cliente
CAL/Proceso de Software
Cliente
(from Actores y Trabajadores)
Movimiento de Cuenta
Controlar Caja
Paquete Atención Al Cliente
Lo usual es no mostrar a Los trabajadores.
CAL/Proceso de Software
Caso de uso del negocio Define la interacción entre las
entidades fuera del negocio (los proveedores, clientes, socios, colegas en secciones que actúan recíprocamente con la sección que Ud. modela, etc), y sus procesos de negocio.
CAL/Proceso de Software
Casos de uso del negocio Un diagrama de Casos de Uso del
negocio representa visualmente la interacción entre los servicios primarios (casos del uso del negocio) que su negocio proporciona y aquellos a quienes los servicios se proporcionan (los actores del negocio).
CAL/Proceso de Software
Diagramas de actividad Un diagrama de actividad del
negocio proporciona una manera gráfica de documentar un flujo de trabajo del negocio. Lo que pasa en un flujo de trabajo, que actividades pueden hacerse en
paralelo, si hay caminos alternativos a través
de un flujo de trabajo
CAL/Proceso de Software
Diagramas de actividad Antes de construir el diagrama
de actividad se debe contar con una descripción textual, narrativa del CUN.
Lo usual es comenzar describiendo un diagrama simple general sin carriles y con actividades macro.
CAL/Proceso de Software
D. Actividad Para Caso Cuenta
Inicio
Solicita Boleta de inscripcion
Recibir Boleta de inscripcion para el tipo de cuenta de ahorros
Verificacion de datos de la Boleta de inscripcion
Llena Boleta con datos personales
Apertura y generación de tarjeta de ahorros
Recibir la Tarjeta y la palabra clave de acceso a la cuenta
Fin
Describe el Caso de uso Apertura de Cuenta en términos de interacción entre actor y CUN (macro actividades)
Eventos generales
CAL/Proceso de Software
CASO
Revisar el texto “Encontrar actores y casos de uso del negocio”,
Revisar caso_credito_personal.doc