Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fase Inicio
Esta fase no es un estudio completo del sistema propuesto, porque en ella se busca
los casos de uso necesarios para fundamentar el Análisis Inicial del Negocio.
El sistema deberá proporcionar ingresos u otros beneficios a la inversión necesaria
con un margen suficiente para construirlo. La intención es minimizar los gastos en
tiempo de planificación, esfuerzo y fondos en esta fase. En el caso de un sistema
completamente nuevo, en un dominio poco explotado, esta consideración puede
extenderse a varias iteraciones convirtiéndose en un proyecto de investigación completo.
Caso contrario esta fase puede ser completada en pocos días, una persona recopilar una
declaración de objetivos, esbozar una arquitectura usando diversos diagramas y
desarrollar un análisis del negocio razonable.
Si se trata de hacer una nueva versión de un producto, gran parte del trabajo de
planificación de la primera iteración del nuevo producto habría sido hecha en la última
iteración del ciclo anterior. Caso contrario, si se trata de un producto nuevo, quienes lo
originaron pueden querer ver su idea desarrollada más profundamente.
Para realizar el análisis del negocio inicial se deberá realizar los siguientes cuatro
pasos.
Delimitar el ámbito del sistema propuesto en cual se definen los límites del
sistema y empezar a identificar las interfaces con los sistemas relacionados.
Describir o esbozar una propuesta de la arquitectura del sistema, y en especial de
aquellas partes del sistema que son nuevas, arriesgas o difíciles. La arquitectura
candidata se describe pero raramente se llega hasta un prototipo ejecutable.
Identificar riesgos críticos. En esta fase consideramos sólo los riesgos que afectan
la viabilidad, es decir, aquellos que amenazan el desarrollo del éxito del sistema.
Cualquier riesgo no crítico que se identifica es colocado en la lista de riesgos
para su posterior análisis.
Demostrar a los usuarios o clientes potenciales que el sistema propuesto es capaz
de solventar sus problemas o de mejorar sus objetivos de negocio construyendo
un prototipo (interfaces de usuario o algún algoritmo interesante). Generalmente
este prototipo es posteriormente descartado.
De cada punto manifestado anteriormente se deberá analizar respectivamente los
siguientes textos: el primer punto hace referencia a la Captura de Requisitos, el segundo
punto a la Arquitectura Fase de Inicio, el tercer punto Gestión de Riesgos y el cuarto
punto referencia Prototipar la Interfaz de Usuario.
Desarrollados los cuatro pasos confeccione un plan provisional para clasificar los
requisitos concernientes a los objetivos iniciales y detallarlos en los correspondientes
casos de uso. Planifique la creación de una arquitectura candidata sólo hasta el punto de
establecer que el proyecto es factible esbozando vistas de la misma.
Tenga en cuenta que el plan inicial es provisional. A medida que vaya recopilando
más información va modificándose y ajustándose continuamente.
Una vez completado estos cuatro pasos hemos logrado gran parte del objetivo
principal de la fase de inicio: determinación del ámbito del sistema, esbozar una
arquitectura, identificar los riesgos críticos para el éxito del proyecto y perfilar un plan
para mitigarlos.
2.1.1. Requisitos
Ya hemos enumerado los requisitos candidatos en la lista de característica para
comprender el contexto, representado por los requisitos funcionales pertinentes en casos
de uso y extraído de los requisitos no funcionales relacionados.
2.1.2. Análisis
Se pueden analizar y redefinir algunos casos de uso del 10% que ha sido identificado
y sólo se analizan en más detalle un 5%, el objetivo de este análisis es focalizarse en
aquellos casos de uso que comparten recursos del sistema como ser: bases de datos,
recursos computacionales, etc. El modelo de análisis revela recursos compartidos que
debemos analizar hasta el punto de resolver estos conflictos.
2.1.3. Diseño
Si necesitamos desarrollar un prototipo de demostración lo haremos utilizando
módulos prefabricados, lenguajes de cuarta generación (4GLs) o cualquier técnica de
desarrollo rápido para mostrar la idea. La demostración de interfaces de usuario y
algoritmos no habituales hace creíble a todos los involucrados en el proyecto que merece
la pena seguir adelante.
Deberemos esbozar un modelo inicial de diseño tomando como primer paso la vista
de arquitectura del modelo de diseño, como se realizan los casos de usos identificados en
el flujo de trabajo de requisitos y sus como colaboraciones entre subsistemas o clases.
2.1.4. Implementación
Debe finalizar la fase de inicio con la descripción de la arquitectura candidata, seguir
con el flujo de trabajo de implementación no siempre es necesario. Pero si las exigencias
desean ver desarrollado un prototipo el flujo continuará hasta la prueba del mismo por
más pequeño que sea el trabajo. La responsabilidad de decir hasta donde se desarrolla la
arquitectura candidata es responsabilidad del jefe del proyecto.
2.1.5. Pruebas
Los ingenieros de pruebas se van poniendo en tema la naturaleza general del sistema
y van considerando que pruebas se requerirán desarrollando alguno planes provisionales
de pruebas.
No se realiza un trabajo significativo de pruebas durante la fase de inicio, ya que el
prototipo exploratorio de demostración tiene por lo general carácter ilustrativo más que
operativo. El jefe del proyecto igualmente puede decidir o no dedicarle un esfuerzo de
pruebas al mismo.
2.2. Ejemplificación
Minuta 1.2.2.doc
Extiende la funcionalidad del departamento de depósito permitiendo tener
una visión más amplia del mismo.
Características 1.2.1.doc
El primer número contiene “1” se utiliza para la versión del producto, el
segundo número contiene “2” indicando el departamento de depósito y el tercer
número contiene “1” para relacionarlo con la iteración del documento Word.
Este documento detalla los eventos relacionados con el departamento de
depósito que permitirán definir su modelo de negocio.
Modelo de Dominio
Un modelo de dominio captura los tipos más importantes de objetos en el contexto
del sistema, representando las cosas existentes o eventos que suceden en el entorno de
trabajo el sistema.
Podemos enumerar entre 10 a 50 clases de dominio para un sistema de tamaño
moderado. Los sistemas más grandes pueden involucrar más clases.
Las restantes clases serán incorporadas al artefacto glosario de términos caso
contrario se construiría un modelo de dominio demasiado difícil de comprender en esta
etapa del proceso de desarrollo del producto.
Muchas de estos objetos de dominio o clases se obtienen de la especificación de los
requisitos o mediante las entrevistas con los expertos del dominio. Los objetos de
dominio pueden ser clasificados en tres formas: objetos de negocio (representan las cosas
que se manipulas en el negocio, como ser pedidos, cuentas y contratos), objetos del
mundo real y conceptos de los que el sistema debe hacer un seguimiento (como la
aviación enemiga, misiles y trayectorias), sucesos a futuro o ocurridos (como la llegada
de un avión, su salida y la hora de comida).
El modelo de dominio se describe mediante diagramas de UML (especialmente
diagramas de clases).
Requisitos Adicionales
Los requisitos adicionales se capturan de forma muy parecida a como se hacían
tradicionalmente con una lista de requisitos. Después se utilizan durante el análisis y el
diseño de casos de uso.
Un requisito de interfaz especifica la interfaz con un elemento externo con el cual
debe interactuar el sistema o se establecen restricciones condicionantes en formatos,
tiempos u otros factores de relevancia en esa interacción.
Un requisito físico especifica una característica física propia de un sistema, como su
material, forma, tamaño o peso. Por ejemplo para representar requisitos de hardware
como las configuraciones físicas de red requeridas.
Artefactos
Los artefactos fundamentales son utilizados en la captura de requisitos en el modelo
de casos de uso que incluye los casos de uso y los actores pertenecientes al sistema.
≈ Actor
El modelo de casos de uso describe lo que hace el sistema para cada tipo
de usuario. Cada uno de estos se representa mediante uno o más actores.
También se representa mediante uno o más actores cada sistema externo con
el que interactúa el sistema.
Un actor juega un papel por cada caso de uso con el que colabora. Cada
vez que un usuario en concreto (humano u otro sistema) interactúa con el
sistema una instancia correspondiente al actor está desarrollando ese papel.
Una instancia de un actor es por tanto un usuario concreto que interactúa con
el sistema.
≈ Caso de uso
Cada forma en que los actores usan el sistema se representa con un caso
de uso donde se especifica una secuencia de acciones que el sistema debe
llevar a cabo interactuando con sus actores, incluyendo alternativas de la
secuencia. Por lo tanto un caso de uso es una especificación. Especifica un
comportamiento de cosas dinámicas.
Un caso de uso es un clasificador para UML, el cual contiene
operaciones y atributos. Un caso de uso puede incluir diagramas (estados,
actividad, colaboración, secuencia y clases), modelo de casos de uso, archivos
y URL.
Los diagramas de estados especifican el ciclo de vida de las instancias de
los casos de uso en términos de estados y transiciones entre los estados. Cada
transición es una secuencia de acciones. Los diagramas de actividad muestran
el ciclo de vida con más detalle describiendo también la secuencia temporal
de acciones que tiene lugar dentro de cada transición, por ejemplo, una
instancia típica de un actor y una instancia de un caso de uso.
≈ Flujo de sucesos
Se plantea como una descripción textual de la secuencia de acciones de
un caso de uso, especifica lo que hace el sistema cuando se lleva a cabo el
caso de uso especifico y los actores que interviene con el mismo.
≈ Requisitos especiales
Es una descripción textual para agrupar todos los requisitos del tipo
requisitos no funcionales sobre el caso de uso y que deben tratarse en flujos
de trabajos posteriores como ser: análisis, diseño o implementación.
Artefacto: Glosario
Podemos utilizar un glosario para definir términos comunes importantes
donde los analistas utilizan para describir el sistema. Habitualmente podemos
obtener un glosario a partir del negocio o de un modelo del dominio, pero cómo es
menos formal es más fácil de mantener y más intuitivo para utilizarlo con terceras
personas externas como usuarios o clientes, el mismo no incluye clases o
relaciones explícitas.
Trabajadores
Un trabajador es un puesto al cual se puede asignar uno o más personas. Con cada
trabajador tenemos una descripción de las responsabilidades y el comportamiento
esperado del mismo. Un trabajador no se corresponde a un cargo concreto de una
empresa porque representa una abstracción de un ser humano/s con ciertas capacidades
que se requieren en un caso de uso del negocio en UML para el desarrollo del software.
Una persona físicamente puede cumplir el rol de un o más trabajadores.
Analista de sistemas
Es el responsable del conjunto de los requisitos a ser modelado en los casos
de uso, incluye todos los requisitos funcionales y no funcionales por medio de los
casos de usos. Tienen la responsabilidad de delimitar el sistema, encontrando los
actores y los casos de uso y asegurando cómo el modelo de casos de uso es
completo y consistente. Para la consistencia el analista puede utilizar un glosario
para conseguir un acuerdo de términos, nociones y conceptos durante la captura de
los requisitos.
El analista es responsable del modelo de casos de uso y de los actores que
contiene, no es responsable de cada caso de uso en particular. También es el
encargado de la creación del glosario.
Diseñador de interfaces
Dan una forma visual a las interfaces de usuarios. Esto implica la
responsabilidad del desarrollo de prototipos de interfaces de usuarios para
algunos casos de uso dando forma a las interfaces de uno o más actores.
Arquitecto
Responsable de la descripción de la arquitectura y del modelo de casos de
uso es una entrada importante para planificar las iteraciones.
No es responsable del desarrollo y mantenimiento continuo de los diferentes
artefactos del modelo de casos de uso.
Fomento de la reutilización
Los componentes de software reutilizables están diseñados y probados para encajar,
y así el tiempo de construcción y los costos son menores. Una buena arquitectura ofrece a
los desarrolladores un andamio estable para trabajar. Un buen arquitecto es el responsable
de definir ese andamio y los subsistemas reutilizables que el desarrollador pueda utilizar.
Arquitectura
La arquitectura esta condicionada por los casos de uso y ellos son los que la dirigen
el proceso de UML, pero a su vez la arquitectura guía a los casos de uso. Se seleccionan
los casos de uso más significativos, al principio unos pocos, para representar los casos de
uso arquitectónicos y poder brindar las necesidades del cliente en la próxima versión y
quizás futuras versiones. La arquitectura no solamente se ve afectada por estos casos de
uso también por otros factores:
Cuáles son los productos de software que el sistema deberá necesitar para ser
desarrollado (Sistemas Operativos, Base de Datos, etc.).
Cuales son los productos middleware capa intermedia, capa para ofrecer bloques
de construcción reutilizables (paquetes o subsistema) a marcos de trabajo y
servicios independientes de plataformas que queremos utilizar. Por ejemplo un
object request broker (ORB) para objetos distribuidos o interoperabilidad en
entornos heterogéneos.
Que sistemas queremos heredar para utilizar en nuestro sistema, de ser así,
debemos tener en cuenta cual es nuestra arquitectura y poder encajar con el
producto antiguo.
A que estándares y políticas corporativas debemos adaptarnos.
Requisitos no funcionales generales (no específicos de los casos de uso), como
ser, los tiempos de recuperación o uso de memoria, etc.
Las necesidades de distribuir el sistema, quizás a través de una arquitectura
cliente/servidor.
En esta etapa del proyecto trabajamos con las partes generales de la aplicación en
cuanto al dominio, y que no son específicas del sistema a desarrollar. Seleccionamos
software, middleware, los sistemas heredados, los estándares y las políticas de uso.
Decidimos cuales son los nodos, elemento físico que existe en tiempo de ejecución para
representar un recurso computacional con memoria y en general con capacidad de
procesamiento, contenidos en nuestro modelo de desarrollo y como deben interactuar. Y
decidimos también como manejar los requisitos no funcionales.
Actividad
≈ Generalización
A medida que identificamos y esbozamos las acciones de cada caso de
uso debemos también ir buscando acciones o partes de acciones comunes o
compartidas. Con el fin de reducir la redundancia utilizando la relación de
reutilización mediante una generalización (llamada relación de uso). La
generalización entre casos de uso es una clase de herencia para las instancias
de los casos de uso generalizados porque pueden ejecutar todo el
comportamiento descrito en el caso de uso generalizador.
Se emplea para simplificar la forma de trabajo y la compresión del
modelo de casos de uso y para reutilizar casos de uso semi-fabricados. Cada
caso de uso terminado se denomina caso de concreto. Los inicia un actor y
sus instancias constituyen una secuencia de acciones completas ejecutadas por
el sistema. El caso de uso semi-fabricado existe solamente para que otros
casos de uso lo reutilicen y se les llama casos de uso abstractos no puede ser
instanciado por sí mismo, pero, una instancia de un caso de uso concreto
contiene el comportamiento de un caso de uso abstracto que lo reutiliza
denominados a esta instancia caso de uso real que el actor(es) percibe cuando
interactúa con el sistema.
≈ Extensión
Se comporta como si fuera algo que se añade a la descripción original de
un caso de uso. Incluye tanto la condición para la extensión como la
referencia a un punto de extensión en el caso de uso destino, es decir, una
posición en el caso de uso donde se pueden hacer adiciones.
Los caso de uso reales se obtienen aplicando las relaciones de
generalización y extensión para utilizar casos de uso en el modelo. Y son los
aquellos que aportan valor a los usuarios.
Una vez identificados los casos de uso concretos, los abstractos y las
extensiones de los casos de uso podemos combinarlos para obtener un caso de
uso real. Sin embargo si el modelado es un nuevo sistema normalmente
seguimos el camino contrario porque comenzamos por los casos de uso reales
e identificando comportamientos comunes para distinguir a los casos de uso
concretos de los casos de uso abstractos. Y por los comportamientos
adicionales que tratamos como extensiones de otros casos de uso.
≈ Inclusión
Es una relación inversa a la de extensión porque proporciona una
extensión explícita e incondicional a un caso de uso. Cuando incluimos un
≈ Relaciones
Debe tenerse en cuenta que la estructura de los casos de uso y sus
relaciones debe reflejar los casos de uso real tanto como sea posible. Cuanto
más alejadas están estas estructuras de los casos de uso real más complicado
será comprender los casos de uso y sus propósitos.
Cada caso de uso individual necesita ser tratados como un artefacto
individual. Por este motivo los casos de uso no deberían ser demasiados
grandes o demasiados pequeños conllevando así una sobrecarga de gestión
significativa.
Una buena práctica evita descomponer funcionalmente los casos de uso
en el modelo de casos de uso. Esto se hace mejor mediante el refinamiento de
cada caso de uso en el modelo de análisis porque la funcionalidad
perteneciente a los casos de uso se descompondrán a su vez en colaboraciones
de objetos de análisis conceptuales.
Casos de Uso
Modelo de Descripción Casos de Uso Diseñado,
Fases Casos de Uso
Negocio Casos de Uso Analizados Implementado
s y Probados
Inicio 50-70% 50% 10% 5% Pequeño %
para prototipo
Elaboración Casi 100% 80% o + 40%-80% 20%-40% Menos del
10%
Construcción 100% 100% 100% 100% si se 100%
mantienen
Transición