diff options
| author | Juan Marín Noguera <juan.marinn@um.es> | 2021-05-15 16:17:34 +0200 |
|---|---|---|
| committer | Juan Marín Noguera <juan.marinn@um.es> | 2021-05-15 16:17:34 +0200 |
| commit | 41281d647336288b9db21ca16a295301406c03ce (patch) | |
| tree | 1f4aaa36dfa6d685639fc8ea3b2c8b97fbfb613d /pds | |
| parent | 14eb0c3369c7240fbbfb9a5be9ed415d8a96e601 (diff) | |
PDS tema 4
Diffstat (limited to 'pds')
| -rw-r--r-- | pds/n.lyx | 14 | ||||
| -rw-r--r-- | pds/n4.1.puml | 26 | ||||
| -rw-r--r-- | pds/n4.1.svg | 37 | ||||
| -rw-r--r-- | pds/n4.2.puml | 6 | ||||
| -rw-r--r-- | pds/n4.2.svg | 19 | ||||
| -rw-r--r-- | pds/n4.lyx | 592 |
6 files changed, 694 insertions, 0 deletions
@@ -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 |
