Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Qu es un Proceso?
Un proceso define Quin est haciendo Qu, Cundo y Cmo para lograr un cierto objetivo. En la ingeniera de software el objetivo es construir un producto de software mejorar alguno existente.
Requerimientos
Nuevos Modificados
Sistema
Nuevo Modificado
El Problema
Si un proceso es utilizado, equipos funcionales diferentes normalmente utilizan procesos y lenguajes de modelacin inconsistentes. ? ?
Requerimientos Pruebas Anlisis Diseo
? ? ?
La mayora de los proyectos de software utilizan procesos que no estn bien definidos. En su lugar los miembros del equipo (re)inventan sus propios procesos. Los procesos no estn apropiadamente relacionados con herramientas, no estn propiamente automatizados.
Proceso
Herramienta
Captura varias de las mejores prcticas en el desarrollo moderno de software en una forma que es aplicable para un amplio rango de proyectos y organizaciones. Es una gua de cmo utilizar de manera efectiva UML. Provee a cada miembro de un equipo un fcil acceso a una base de conocimiento con guas, plantillas y herramientas para todas las actividades crticas de desarrollo. Crea y mantiene modelos, en lugar de enfocarse en la produccin de una gran cantidad de papeles de documentacin.
Administrador de Configuracin
Lder de Proyecto
RUP describe como utilizar de forma efectiva procedimientos comerciales probados en el desarrollo de software para equipos de desarrollo de software, conocidos como mejores prcticas.
Administracin de Requerimientos
Desarrollo Iterativo
Modelamiento Visual
Verificacin de la Calidad
Control de Cambios
Dados los sistemas de software sofisticados de la actualidad, no es posible hacer de manera secuencial la definicin completa del problema, disear la solucin completa, construir el software y por ltimo probarlo. El descubrimiento de defectos en fases posteriores de diseo dan como resultado un aumento en los costos y/ la cancelacin del proyecto.
El tiempo y dinero gastados en la implementacin de un diseo fallido, son no recuperables
Desarrollo Iterativo
Requerimientos Anlisis y Diseo Implementacin
Permite un entendimiento incremental del problema a travs de refinamientos sucesivos. Habilita una fcil retroalimentacin de usuario. Metas especficas permiten que el equipo de desarrollo mantenga su atencin en producir resultados. El progreso es medido conforme avanzan las implementaciones.
Administracin de Requerimientos
Licitar, organizar, y documentar la funcionalidad y restricciones requeridas. Llevar un registro y documentacin de cambios y decisiones. Los requerimientos de negocio son fcilmente capturados y comunicados a travs de casos de uso. Los casos de uso son instrumentos importantes de planeacin.
Los casos de uso dirigen el trabajo desde el anlisis hasta las pruebas
realizacin
influenciado por
verifica
Modelo de Prueba
Resistente al cambio mediante el uso de interfaces bien definidas. Intuitivamente comprensible. Promueve un reuso ms efectivo de software. Es derivada a partir de los casos de uso ms importantes.
Captura la estructura y comportamiento de arquitecturas y componentes. Muestra como encajan de forma conjunta los elementos del sistema. Mantiene la consistencia entre un diseo y su implementacin. Promueve una comunicacin no ambigua.
Crea pruebas para cada escenario (casos de uso) para asegurar que todos los requerimientos estn propiamente implementados. Verifica la calidad del software con respecto a los requerimientos basados en la confiabilidad, funcionalidad, desempeo de la aplicacin y del sistema. Prueba cada iteracin
Los problemas del software son de 100 a 1000 veces mas costosos de encontrar y reparar despus del desarrollo
Controlar, llevar un registro y monitorear cambios para permitir un desarrollo iterativo. Establece espacios de trabajo seguros para cada desarrollador
Provee aislamiento de cambios hechos en otros espacios de trabajo Controla todos los artefactos de software modelos, cdigo, documentos, etc
Administracin de Espacios de Trabajo Desarrollo en Paralelo
Integracin de Proceso
REPORT ALERT
Administracin de Construccin
Estructura de RUP
El proceso puede describirse en dos dimensiones, o a lo largo de dos ejes: El eje horizontal representa tiempo y muestra el aspecto dinmico del proceso, expresado en trminos de ciclos, fases, iteraciones, y metas. El eje vertical representa el aspecto esttico del proceso; como est descrito en trminos de actividades, artefactos, trabajadores y flujos de trabajo.
Contenido
Iteraciones
Fases en RUP
Inicio Define el alcance del proyecto Elaboracin Plan del proyecto, especificacin de caractersticas, arquitectura base Construccin Construir el producto Transicin Transicin del producto a la comunidad del usuario
Metas Principales
Fase de Inicio
Propsito
Establecer casos de negocios para un nuevo sistema o para alguna actualizacin importante de un sistema existente Especificar el alcance del proyecto Una visin general de los requerimientos del proyecto, i.e., los requerimientos principales
Resultado
Caso de Negocios: modelar la empresa (como funciona la empresa a la que se le va a desarrollar el software)
Fase de Elaboracin
Propsito
Analizar el dominio del problema Establecer una buena arquitectura Lidiar con los elementos de riesgo ms altos del proyecto Desarrollar un plan comprensivo mostrando como el proyecto ser completado
Un modelo del dominio y de casos de uso 80% completo Requerimientos suplementarios que capturen los requerimientos no funcionales y cualesquiera requerimientos que no estn asociados con un caso de uso especfico Una lista de riesgos revisada
Resultado
Fase de Construccin
Propsito
Desarrollar incrementalmente producto de software completo el cual estar listo para ser transferido al usuario Un modelo completo de diseo y casos de uso Liberaciones de productos ejecutables de funcionalidad incremental Documentacin de usuario Una liberacin beta del producto
Productos
Fase de Transicin
Liberaciones ejecutables de producto Pruebas beta para validar el nuevo sistema vs. las expectaciones del usuario Manuales de usuario actualizados Documentacin de desarrollo actualizada
Est el usuario satisfecho? Gastos reales de los recursos vs. Gastos previstos Aceptables?
Iteraciones
Cada fase en RUP puede descomponerse en iteraciones. Una iteracin es un ciclo de desarrollo completo dando como resultado una entrega de producto ejecutable (interna o externa)
Liberaciones
Inicio
Elaboracin
Construccin
Transicin
Iteracin Preliminar
Iteracin de Iteracin de Iteracin de Iteracin de Iteracin de Arquitectura Arquitectura Desarrollo Desarrollo Desarrollo
iteraciones
internas
externas
Nocin de Proceso
Trabajador/Quin? Rol que puede ser desempeado por un individuo o conjunto de individuos en la organizacin de desarrollo Actividad/Cmo?
Diseador
responsable de
Caso de Uso
Una mera enumeracin de todos los trabajadores, actividades y artefactos no constituyen un proceso. Se necesita una forma de describir secuencias significativas que produzcan algn resultado vlido, y que muestre la interaccin entre trabajadores. Un flujo de trabajo es una secuencia de actividades que producen un resultado de valor observable. En trminos de UML pueden ser expresados como un diagrama de secuencia, un diagrama de colaboracin, como un diagrama de actividad. Los grupos de trabajo agrupan actividades en forma lgica
realizado por
verificado por
Referencias
A Simplified Approach to RUP Gary K. Evans President, Evanetics, Inc. http://www.therationaledge.com/content/jan_01/t_rup_ge.html UML y Patrones, Introduccin al Anlisis y Diseo Orientado a Objetos Craig Larman Prentice-Hall Rational Unified Process, Best Practices for Software Development Teams A Rational Software Corporation White Paper