aboutsummaryrefslogtreecommitdiff
path: root/pds
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
parent14eb0c3369c7240fbbfb9a5be9ed415d8a96e601 (diff)
PDS tema 4
Diffstat (limited to 'pds')
-rw-r--r--pds/n.lyx14
-rw-r--r--pds/n4.1.puml26
-rw-r--r--pds/n4.1.svg37
-rw-r--r--pds/n4.2.puml6
-rw-r--r--pds/n4.2.svg19
-rw-r--r--pds/n4.lyx592
6 files changed, 694 insertions, 0 deletions
diff --git a/pds/n.lyx b/pds/n.lyx
index 02e5175..ae840bd 100644
--- a/pds/n.lyx
+++ b/pds/n.lyx
@@ -272,5 +272,19 @@ filename "n3.lyx"
\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
\end_document
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 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="511px" preserveAspectRatio="none" style="width:782px;height:511px;" version="1.1" viewBox="0 0 782 511" width="782px" zoomAndPan="magnify"><defs><filter height="300%" id="fhrbwfvm89v9l" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><ellipse cx="169" cy="43.6982" fill="#000000" filter="url(#fhrbwfvm89v9l)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fhrbwfvm89v9l)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="103.5" y="73.6982"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="113.5" y="94.8369">Solicitar producto</text><rect fill="#000000" filter="url(#fhrbwfvm89v9l)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="298" x="20" y="319.6045"/><rect fill="#FEFECE" filter="url(#fhrbwfvm89v9l)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="34" y="345.6045"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="103" x="44" y="366.7432">Recibir producto</text><rect fill="#000000" filter="url(#fhrbwfvm89v9l)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="298" x="20" y="399.5732"/><rect fill="#FEFECE" filter="url(#fhrbwfvm89v9l)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="116" y="425.5732"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="86" x="126" y="446.7119">Pagar factura</text><ellipse cx="169" cy="489.542" fill="none" filter="url(#fhrbwfvm89v9l)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="169.5" cy="490.042" fill="#000000" filter="url(#fhrbwfvm89v9l)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fhrbwfvm89v9l)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="449.75" y="127.667"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="103" x="459.75" y="148.8057">Procesar pedido</text><polygon fill="#FEFECE" filter="url(#fhrbwfvm89v9l)" points="511.25,181.6357,511.25,181.6357,523.25,193.6357,511.25,205.6357,511.25,205.6357,499.25,193.6357,511.25,181.6357" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="414.25" y="191.0415">[No disponible]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="523.25" y="191.0415">[Disponible]</text><rect fill="#FEFECE" filter="url(#fhrbwfvm89v9l)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="328" y="225.6357"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="338" y="246.7744">Notificar problema al cliente</text><ellipse cx="426" cy="289.6045" fill="none" filter="url(#fhrbwfvm89v9l)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="426.5" cy="290.1045" fill="#000000" filter="url(#fhrbwfvm89v9l)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fhrbwfvm89v9l)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="119" x="527.25" y="345.6045"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="99" x="537.25" y="366.7432">Facturar cliente</text><rect fill="#FEFECE" filter="url(#fhrbwfvm89v9l)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="656.25" y="225.6357"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="85" x="666.25" y="246.7744">Enviar pedido</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="169" x2="169" y1="53.6982" y2="73.6982"/><polygon fill="#A80036" points="165,63.6982,169,73.6982,173,63.6982,169,67.6982" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="95.5" x2="95.5" y1="325.6045" y2="345.6045"/><polygon fill="#A80036" points="91.5,335.6045,95.5,345.6045,99.5,335.6045,95.5,339.6045" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="95.5" x2="95.5" y1="379.5732" y2="399.5732"/><polygon fill="#A80036" points="91.5,389.5732,95.5,399.5732,99.5,389.5732,95.5,393.5732" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169" x2="169" y1="405.5732" y2="425.5732"/><polygon fill="#A80036" points="165,415.5732,169,425.5732,173,415.5732,169,419.5732" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169" x2="169" y1="459.542" y2="479.542"/><polygon fill="#A80036" points="165,469.542,169,479.542,173,469.542,169,473.542" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="426" y1="259.6045" y2="279.6045"/><polygon fill="#A80036" points="422,269.6045,426,279.6045,430,269.6045,426,273.6045" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499.25" x2="426" y1="193.6357" y2="193.6357"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="426" y1="193.6357" y2="225.6357"/><polygon fill="#A80036" points="422,215.6357,426,225.6357,430,215.6357,426,219.6357" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="511.25" x2="511.25" y1="161.6357" y2="181.6357"/><polygon fill="#A80036" points="507.25,171.6357,511.25,181.6357,515.25,171.6357,511.25,175.6357" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169" x2="169" y1="107.667" y2="112.667"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169" x2="511.25" y1="112.667" y2="112.667"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="511.25" x2="511.25" y1="112.667" y2="127.667"/><polygon fill="#A80036" points="507.25,117.667,511.25,127.667,515.25,117.667,511.25,121.667" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="523.25" x2="708.75" y1="193.6357" y2="193.6357"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="708.75" x2="708.75" y1="193.6357" y2="225.6357"/><polygon fill="#A80036" points="704.75,215.6357,708.75,225.6357,712.75,215.6357,708.75,219.6357" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="708.75" x2="708.75" y1="259.6045" y2="304.6045"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="708.75" x2="169" y1="304.6045" y2="304.6045"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169" x2="169" y1="304.6045" y2="319.6045"/><polygon fill="#A80036" points="165,309.6045,169,319.6045,173,309.6045,169,313.6045" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="244.5" x2="244.5" y1="325.6045" y2="329.6045"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="244.5" x2="586.75" y1="329.6045" y2="329.6045"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.75" x2="586.75" y1="329.6045" y2="345.6045"/><polygon fill="#A80036" points="582.75,335.6045,586.75,345.6045,590.75,335.6045,586.75,339.6045" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.75" x2="586.75" y1="379.5732" y2="385.5732"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.75" x2="244.5" y1="385.5732" y2="385.5732"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="244.5" x2="244.5" y1="385.5732" y2="399.5732"/><polygon fill="#A80036" points="240.5,389.5732,244.5,399.5732,248.5,389.5732,244.5,393.5732" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="63" x="137" y="29.4531">Cliente</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="59" x="457.125" y="29.4531">Ventas</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="75" x="670.75" y="29.4531">Almacén</text><line style="stroke: #000000; stroke-width: 2.0;" x1="10" x2="10" y1="12.7451" y2="499.542"/><line style="stroke: #000000; stroke-width: 2.0;" x1="323" x2="323" y1="12.7451" y2="499.542"/><line style="stroke: #000000; stroke-width: 2.0;" x1="651.25" x2="651.25" y1="12.7451" y2="499.542"/><line style="stroke: #000000; stroke-width: 2.0;" x1="770.25" x2="770.25" y1="12.7451" y2="499.542"/><!--
+@startuml
+ |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
+
+PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.11+9-post-Debian-1deb10u1
+Operating System: Linux
+OS Version: 5.7.0-2-pinebookpro-arm64
+Default Encoding: UTF-8
+Language: en
+Country: null
+--></g></svg> \ 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 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="90px" preserveAspectRatio="none" style="width:251px;height:90px;background:#FFFFFF;" version="1.1" viewBox="0 0 251 90" width="251px" zoomAndPan="magnify"><defs><filter height="300%" id="f1x4lwucifqacd" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[19d16784bb5a3b3b7f2ed42a6c2fedf0]
+entity Actor--><ellipse cx="26" cy="14" fill="#FEFECE" filter="url(#f1x4lwucifqacd)" rx="8" ry="8" style="stroke:#A80036;stroke-width:1.5;"/><line style="stroke:#A80036;stroke-width:1.5;" x1="24.0562" x2="33.7603" y1="21.7603" y2="12.0562"/><path d="M26,22 L26,49 M13,30 L39,30 M26,49 L13,64 M26,49 L39,64 " fill="none" filter="url(#f1x4lwucifqacd)" style="stroke:#A80036;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="6" y="82.4951">Actor</text><ellipse cx="172.8142" cy="44.7628" fill="#FEFECE" filter="url(#f1x4lwucifqacd)" rx="66.8142" ry="15.7628" style="stroke:#A80036;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="127.8142" y="48.5104">Caso de uso</text><line style="stroke:#A80036;stroke-width:1.5;" x1="234.303" x2="217.6369" y1="39.2679" y2="55.934"/><!--MD5=[99bb53aece4e5c83c01f232ca1aab4ff]
+link Actor to UC--><path d="M46.2549,45 C60.4585,45 80.7388,45 100.8773,45 " fill="none" id="Actor-to-UC" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="105.9905,45,96.9905,41,100.9905,45,96.9905,49,105.9905,45" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[9bd9b322893d154fcfc66b0024eb72fb]
+@startuml
+left to right direction
+:Actor:/ as Actor
+(Caso de uso)/ as UC
+Actor - -> UC
+@enduml
+
+PlantUML version 1.2021.7beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg> \ 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