From 41281d647336288b9db21ca16a295301406c03ce Mon Sep 17 00:00:00 2001 From: Juan Marín Noguera Date: Sat, 15 May 2021 16:17:34 +0200 Subject: PDS tema 4 --- pds/n.lyx | 14 ++ pds/n4.1.puml | 26 +++ pds/n4.1.svg | 37 ++++ pds/n4.2.puml | 6 + pds/n4.2.svg | 19 ++ pds/n4.lyx | 592 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 694 insertions(+) create mode 100644 pds/n4.1.puml create mode 100644 pds/n4.1.svg create mode 100644 pds/n4.2.puml create mode 100644 pds/n4.2.svg create mode 100644 pds/n4.lyx (limited to 'pds') diff --git a/pds/n.lyx b/pds/n.lyx index 02e5175..ae840bd 100644 --- a/pds/n.lyx +++ b/pds/n.lyx @@ -270,6 +270,20 @@ filename "n3.lyx" \end_inset +\end_layout + +\begin_layout Chapter +Proceso de Larman +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n4.lyx" + +\end_inset + + \end_layout \end_body diff --git a/pds/n4.1.puml b/pds/n4.1.puml new file mode 100644 index 0000000..9edd4a8 --- /dev/null +++ b/pds/n4.1.puml @@ -0,0 +1,26 @@ +@startuml +'skinparam conditionStyle diamond + |Cliente| + start + :Solicitar producto; + |Ventas| + :Procesar pedido; +if () then ([No disponible]) + :Notificar problema al cliente; + stop +else ([Disponible]) + |Almacén| + :Enviar pedido; +endif +fork + |Cliente| + :Recibir producto; +fork again + |Ventas| + :Facturar cliente; +end fork + |Cliente| + :Pagar factura; + stop +@enduml + diff --git a/pds/n4.1.svg b/pds/n4.1.svg new file mode 100644 index 0000000..b8efe0d --- /dev/null +++ b/pds/n4.1.svg @@ -0,0 +1,37 @@ +Solicitar productoRecibir productoPagar facturaProcesar pedido[No disponible][Disponible]Notificar problema al clienteFacturar clienteEnviar pedidoClienteVentasAlmacén \ No newline at end of file diff --git a/pds/n4.2.puml b/pds/n4.2.puml new file mode 100644 index 0000000..ed045d4 --- /dev/null +++ b/pds/n4.2.puml @@ -0,0 +1,6 @@ +@startuml +left to right direction +:Actor:/ as Actor +(Caso de uso)/ as UC +Actor --> UC +@enduml diff --git a/pds/n4.2.svg b/pds/n4.2.svg new file mode 100644 index 0000000..34ab77a --- /dev/null +++ b/pds/n4.2.svg @@ -0,0 +1,19 @@ + +ActorCaso de uso \ No newline at end of file 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 -- cgit v1.2.3