aboutsummaryrefslogtreecommitdiff
path: root/pds/n4.lyx
diff options
context:
space:
mode:
authorJuan Marín Noguera <juan.marinn@um.es>2021-05-15 16:17:34 +0200
committerJuan Marín Noguera <juan.marinn@um.es>2021-05-15 16:17:34 +0200
commit41281d647336288b9db21ca16a295301406c03ce (patch)
tree1f4aaa36dfa6d685639fc8ea3b2c8b97fbfb613d /pds/n4.lyx
parent14eb0c3369c7240fbbfb9a5be9ed415d8a96e601 (diff)
PDS tema 4
Diffstat (limited to 'pds/n4.lyx')
-rw-r--r--pds/n4.lyx592
1 files changed, 592 insertions, 0 deletions
diff --git a/pds/n4.lyx b/pds/n4.lyx
new file mode 100644
index 0000000..1f0bcee
--- /dev/null
+++ b/pds/n4.lyx
@@ -0,0 +1,592 @@
+#LyX 2.3 created this file. For more info see http://www.lyx.org/
+\lyxformat 544
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass book
+\use_default_options true
+\begin_modules
+algorithm2e
+\end_modules
+\maintain_unincluded_children false
+\language spanish
+\language_package default
+\inputencoding auto
+\fontencoding global
+\font_roman "default" "default"
+\font_sans "default" "default"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing single
+\use_hyperref false
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 1
+\use_minted 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style french
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\end_header
+
+\begin_body
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+TODO Mover el proceso de Larman como tal al tema 7 y centrar este capítulo
+ en el modelado y los diagramas.
+\end_layout
+
+\end_inset
+
+El
+\series bold
+proceso de Larman
+\series default
+ es una versión iterativa y ágil del Proceso Unificado dirigida por casos
+ de uso.
+ Sus fases son:
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Inicio.
+
+\series default
+ Dura una o dos semanas como mucho.
+ Se definen los objetivos del producto, las características, las alternativas
+ y los riesgos para hacer una estimación del coste y la viabilidad, y se
+ crea un borrador de la visión del producto
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+Todavía no se ha definido.
+\end_layout
+
+\end_inset
+
+.
+ Se hacen los primeros talleres de requisitos, se escriben casos de uso
+ en formato breve, se crea un prototipo desechable de la interfaz de usuario
+ para validar los requisitos y se planifica la primera iteración del desarrollo.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Modelado del negocio
+\series default
+
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+Todavía no se ha definido.
+\end_layout
+
+\end_inset
+
+ mediante diagramas de proceso
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+Todavía no se ha definido.
+\end_layout
+
+\end_inset
+
+ y otros medios.
+ Se refina la identificación de objetivos de usuario y casos de uso y la
+ especificación complementaria.
+ No está en el proceso original.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Desarrollo.
+
+\series default
+ Se hacen iteraciones de entre 2 y 8 semanas en las que se describen y se
+ implementan los casos de uso de mayor prioridad, establecida según el nivel
+ de riesgo y la importancia para el negocio del caso de uso.
+ Cada iteración termina con un ejecutable listo para entregar.
+ El objetivo de llegar rápido a las pruebas y la validación para tener retroalim
+entación rápida.
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+
+\series bold
+Modelado de requisitos
+\series default
+, con modelos de caso de uso y de dominio conceptual.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Diseño preliminar.
+
+\series default
+ Se identifican y especifican las clases y colaboraciones para los objetivos
+ del dominio.
+ Se crean un diagrama de secuencia del sistema
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+Todavía no se ha definido.
+\end_layout
+
+\end_inset
+
+ para cada caso de uso; un contrato
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+Todavía no se ha definido.
+\end_layout
+
+\end_inset
+
+ de cada interacción de cada diagrama de secuencia, que normalmente se omite,
+ y al menos una colaboración
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+Todavía no se ha definido.
+\end_layout
+
+\end_inset
+
+ por contrato, así como un diagrama de clases que se crea en tándem con
+ las colaboraciones.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Diseño completo.
+
+\series default
+ Se resuelven los problemas de diseño relacionados con la arquitectura del
+ sistema, la división y distribución en paquetes, la interfaz de usuario,
+ la plataforma, el rendimiento, la base de datos, la red, las estructuras
+ de datos y los patrones de diseño a usar, nuevas clases y colaboraciones,
+ etc.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Implementación y pruebas
+\series default
+, tanto unitarias como de integración.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Validación
+\series default
+ con clientes y usuarios.
+\end_layout
+
+\end_deeper
+\begin_layout Section
+Diagramas de actividades
+\end_layout
+
+\begin_layout Standard
+Una
+\series bold
+actividad
+\series default
+ es una acción realizada por un actor que produce un cambio en este o devuelve
+ algún valor.
+ Llamamos
+\series bold
+estado acción
+\series default
+ a una computación atómica y
+\series bold
+actividad
+\series default
+ a una actividad compuesta de otros estados acción y actividades.
+\end_layout
+
+\begin_layout Standard
+Un
+\series bold
+diagrama de procesos
+\series default
+ o
+\series bold
+de actividades
+\series default
+ es un diagrama UML que muestra un flujo de actividades.
+ Se usa para modelar flujos de trabajo, de datos, casos de uso y en programación
+ concurrente o paralela.
+\end_layout
+
+\begin_layout Standard
+Las actividades se representan con un cuadro redondeado con el nombre de
+ la actividad.
+ Una
+\series bold
+transición
+\series default
+ indica que después de una actividad se ejecuta otra y se expresa con una
+ flecha hacia abajo de la primera a la segunda.
+\end_layout
+
+\begin_layout Standard
+Toda actividad del es el inicio de una transición y el final de otra, y
+ el flujo viene dado por una sucesión de actividades a partir de un punto
+ de inicio, un círculo relleno único en el diagrama con una transición hacia
+ la primera actividad, y uno de fin, un círculo relleno rodeado por una
+ circunferencia concéntrica con una transición desde la última actividad
+ del flujo.
+\end_layout
+
+\begin_layout Standard
+Una transición puede ir hacia una
+\series bold
+bifurcación
+\series default
+, un rombo con transiciones hacia dos o más actividades de las que se escoge
+ una según una condición, indicada entre corchetes como etiqueta de la flecha.
+ Una línea horizontal hacia la que va una transición y de la que parten
+ varias es una
+\series bold
+división
+\series default
+, que indica que el flujo se divide en varios flujos paralelos, y una a
+ la que llegan varias y de la que parte una es una
+\series bold
+unión
+\series default
+, que une los flujos paralelos en uno solo.
+ El diagrama puede tener
+\series bold
+calles
+\series default
+, divisiones verticales separadas con líneas que en la parte superior indican
+ el nombre del actor que realiza las actividades de dicha calle.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset External
+ template VectorGraphics
+ filename n4.1.svg
+ scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+Ejemplo de diagrama de actividades.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Un objeto se representa como en un diagrama de objetos, pero cambiando la
+ definición de atributos por el estado del objeto entre corchetes.
+ Le llega una flecha punteada desde una actividad para indicar que la actividad
+ establece el estado del objeto al indicado (puede que cree el objeto),
+ y puede partir de él una flecha punteada a otra actividad indicando que
+ esta recibe el objeto.
+ Un mismo objeto puede aparecer varias veces si varias actividades establecen
+ su estado.
+ Es una parte poco importante del diagrama.
+\end_layout
+
+\begin_layout Standard
+Normalmente se hace un solo diagrama de proceso para todo el sistema.
+\end_layout
+
+\begin_layout Section
+Modelado del negocio
+\end_layout
+
+\begin_layout Standard
+Una organización tiene una serie de objetivos que satisface a través de
+
+\series bold
+procesos de negocio
+\series default
+, formados por un flujo de tareas, agentes, información y reglas, llamadas
+
+\series bold
+reglas de negocio
+\series default
+, que describen restricciones y comportamientos en el dominio y, aunque
+ no son requisitos, influyen en ellos.
+\end_layout
+
+\begin_layout Standard
+Las reglas pueden ser:
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+De restricción:
+\series default
+ Rigen la estructura y el comportamiento de la información.
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+
+\series bold
+Estímulo-respuesta:
+\series default
+ Cuando ocurre un evento, se ejecuta una operación.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+De operación:
+\series default
+ Precondiciones y postcondiciones para ejecutar una operación.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+De estructura:
+\series default
+ Estructura de los objetos, incluyendo propiedades, asociaciones e invariantes
+ internos.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+
+\series bold
+De derivación:
+\series default
+ Permiten inferir nuevos hechos a partir de otros.
+\end_layout
+
+\begin_layout Standard
+El
+\series bold
+modelado del negocio
+\series default
+ consiste en:
+\end_layout
+
+\begin_layout Enumerate
+Identificar los objetivos estratégicos de la organización y sus subobjetivos.
+\end_layout
+
+\begin_layout Enumerate
+Definir el proceso de negocio asociado a cada subobjetivo y los roles implicados.
+\end_layout
+
+\begin_layout Enumerate
+Definir un caso de uso del negocio para cada proceso de negocio y crear
+ un diagrama de casos de uso del negocio.
+\end_layout
+
+\begin_layout Enumerate
+Modelar el flujo de tareas asociado a cada proceso de negocio mediante
+\series bold
+escenarios
+\series default
+ (diagramas de secuencia) y diagramas de procesos.
+\end_layout
+
+\begin_layout Enumerate
+Especificar las informaciones y actividades incluidas en cada diagrama de
+ actividades.
+\end_layout
+
+\begin_layout Standard
+Los casos de uso del negocio se representan con una barra abajo a la derecha,
+ y los actores de negocio con la cara tachada.
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset External
+ template VectorGraphics
+ filename n4.2.svg
+ scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Un
+\series bold
+\emph on
+\lang english
+worker
+\series default
+\emph default
+\lang spanish
+ es un actor interno al sistema u organización, y se representa como un
+ actor encerrado en un círculo con una flecha a la izquierda en el borde
+ de arriba y una barra abajo a la derecha.
+\end_layout
+
+\begin_layout Standard
+Podemos especificar un caso de uso del negocio textualmente, como con una
+ plantilla, o con un diagrama de proceso.
+\end_layout
+
+\begin_layout Section
+Diagramas de roles
+\end_layout
+
+\begin_layout Standard
+Sirven para modelar los
+\series bold
+agentes
+\series default
+ o roles que participan en los casos de uso del negocio.
+ Los actores se representan como en los diagramas de casos de uso y entre
+ ellos hay líneas con una multiplicidad a cada lado que representan canales
+ de comunicación entre los actores.
+\end_layout
+
+\begin_layout Section
+Conversión a un modelo de requisitos
+\end_layout
+
+\begin_layout Standard
+En general, podemos aproximar un diagrama de casos de uso a partir de uno
+ de procesos convirtiendo cada actividad en un canal en un caso de uso cuyo
+ actor primario es el indicado por el canal.
+ Los objetos del diagrama de procesos se convierten en conceptos del dominio.
+\end_layout
+
+\begin_layout Standard
+Un documento de análisis de requisitos puede estar formado por:
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Visión:
+\series default
+ Perspectiva del producto, objetivos, beneficios, características, coste.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Especificación de casos de uso.
+
+\series default
+ La descripción de casos de uso requiere comunicación con el usuario, y
+ si el caso de uso es complejo se pueden crear varias versiones del mismo
+ para añadir complejidad de forma incremental.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Especificación complementaria:
+\series default
+ Objetivos y reglas de negocio; funcionalidad que abarca varios casos de
+ uso o que no se representa como caso de uso (por ejemplo, funcionalidad
+ CRUD); requisitos no funcionales.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Glosario:
+\series default
+ Definiciones de términos.
+\end_layout
+
+\end_body
+\end_document