SlideShare una empresa de Scribd logo
6.Modelado de Requerimientos:
Escenarios y Clases.
Ramiro Estigarribia Canese
El Modelo de
Requerimientos.
➔ La I.S. comienza con una serie de tareas conducen
a la especificación de los requerimientos.
➔ El modelo de requerimientos es la primera
representación técnica de un sistema.
➔ Utiliza una combinación de texto y diagramas para
ilustrarlos, a fin de que sea fácil de entender,
revisar, corregir, completar y hacer congruente.
Análisis de los
Requerimientos
➔ El análisis de los requerimientos da como resultado
la especificación de las características operativas
del software, indica la interfaz y establece las
restricciones que limitan al software.
➔ El análisis de los requerimientos permite al
profesional construir sobre los requerimientos
básicos establecidos durante las tareas de
concepción, indagación y negociación, que son
parte de la ingeniería de los requerimientos (véase
el capítulo 5)
Tipos de Modelos
de Requerimientos.
1. Modelos basados en el escenario desde el punto
de vista de distintos “actores” del sistema.
2. Modelos de datos, que ilustran el dominio de
información del problema.
3. Modelos orientados a clases, que representan
clases orientadas a objetos y sus colaboraciones.
4. Modelos orientados al flujo, que representa cómo
se transforman los datos.
5. Modelos de comportamiento, a consecuencia de
“eventos” externos.
Modelado de Requerimientos.
Filosofía.
Durante el modelado de requerimientos la atención “se
centra en Qué, y no en Cómo”:
1. ¿Qué interacción del usuario ocurre?
2. ¿Qué objetos manipula el sistema?
3. ¿Qué funciones debe realizar el sistema?
4. ¿Qué comportamientos tiene el sistema?
5. ¿Qué interfaces se definen?
6. ¿Qué restricciones son aplicables?
El experto debe modelar “lo que se sabe” y usar el
modelo como base para un diseño que tendrá
incrementos futuros.
Modelo de Requerimientos.
Objetivos.
1. Describir lo que requiere el cliente.
2. Establecer una base el diseño del software.
3. Definir un conjunto de requerimientos que puedan
validarse una vez terminado el software.
El modelo de análisis es un puente entre la
descripción en el nivel del sistema que se centra en la
funcionalidad del negocio que se logra con la
aplicación de software, hardware, datos, personas y
un diseño de software.
Reglas prácticas del análisis
Arlow y Neustadt sugieren estas reglas prácticas:
1. Debe centrarse en los requerimientos que sean
visibles dentro del problema.
2. El nivel de abstracción debe ser elevado:
“No se empantane en los detalles”.
3. Hay que retrasar las consideraciones de la
infraestructura y otros modelos no funcionales
hasta llegar a la etapa del diseño.
4. Mantener el modelo tan sencillo como se pueda.
No genere diagramas adicionales si no agregan
nueva información.
Análisis del
Dominio de SW
➔ Es frecuente que existan patrones que se repiten
en muchas aplicaciones dentro de un dominio de
negocio específico.
➔ Si éstos se definen y clasifican en forma tal que
puedan reconocerse y aplicarse para resolver
problemas comunes: la creación del modelo del
análisis será más eficiente.
➔ Esto mejora el tiempo para llegar al mercado y
reduce los costos de desarrollo.
¿Qué es el Análisis
del Dominio de SW?
➔ Es la identificación, análisis y especificación de los
requerimientos comunes, a partir de un dominio de
aplicación específica, normalmente para usarlo
varias veces en múltiples proyectos.
➔ La meta del análisis del dominio es clara: encontrar
o crear aquellas clases o patrones de análisis que
sean aplicables en lo general, de modo que puedan
volverse a usar.
Modelado Basado en
Escenarios.
➔ Aunque el éxito de un sistema se mide de muchas
maneras, la satisfacción del usuario ocupa el
primer lugar de la lista.
➔ Si se entiende cómo desean interactuar los
usuarios finales con un sistema, el equipo del
software estará mejor preparado para caracterizar
adecuadamente los requerimientos.
➔ Entonces, el modelado de los requerimientos con
UML comienza con la creación de escenarios en
forma de casos de uso, diagramas de actividades y
diagramas de canales.
Creación de un caso
preliminar de uso
En el capítulo-5 se dijo que un caso de uso describe
en lenguaje claro un escenario específico desde el
punto de vista de un actor definido.
Pero: ¿Cómo se sabe sobre qué escribir, cuánto
escribir sobre ello, cuán detallada hacer la descripción
y cómo organizarla?
Son preguntas que deben responderse si los casos de
uso han de tener algún valor como herramienta para
modelar los requerimientos.
Casos de Uso.
¿Sobre qué escribir?
➔ Para comenzar se listan las funciones o actividades
realizadas por un actor específico.
➔ Éstas se obtienen de una lista de las funciones
requeridas del sistema, por medio de
conversaciones con los participantes o con la
evaluación de los diagramas de actividades
desarrollados como parte del modelado de los
requerimientos.
Mejora de un caso de uso.
Para entender por completo un caso de uso, es
esencial describir interacciones alternativas.
Después se evalúa, planteando las preguntas:
1. ¿El actor puede emprender otra acción?
2. ¿Es posible que el actor encuentre algún de error?
3. ¿Es posible que el actor encuentre otro
comportamiento? En ese caso, ¿cuál sería?
Las respuestas dan como resultado la creación de un
conjunto de escenarios secundarios que forman parte
del caso de uso original, pero que representan
comportamientos alternativos.
¿Cuándo Graficar?
➔ En muchos casos, no hay necesidad de crear
una representación gráfica de un escenario.
➔ La representación facilita la comprensión,
en particular cuando el
escenario es complejo.
➔ En tales casos, es posible
elegir de entre una amplia
variedad de modelos UML.
Diagrama de actividades
➔ El diagrama de actividad UML enriquece el caso de
uso al proporcionar una representación gráfica del
flujo de interacción dentro de un escenario
específico.
➔ Un diagrama de actividades es similar a uno de
flujo, y utiliza rectángulos redondeados para denotar
una función específica del sistema, flechas para
representar flujo a través de éste, rombos de
decisión para ilustrar una ramificación de las
decisiones y líneas continuas para indicar que están
ocurriendo actividades en paralelo.
Diagrama de Actividades.
Diagramas de canales
(swimlane)
➔ El diagrama de canal de UML es una variación útil
del diagrama de actividades y permite representar
el flujo de actividades descritas por el caso de uso;
al mismo tiempo, indica qué actor es responsable
de la acción descrita por un rectángulo de
actividad.
➔ Las responsabilidades se representan con
segmentos paralelos que dividen el diagrama en
forma vertical, como los canales o carriles de una
piscina.
Atributos de los datos
Los atributos de los datos definen las propiedades de
un objeto y tienen una de tres diferentes
características. Se usan para:
1. Nombrar una instancia del objeto de datos
2. Describir la instancia
3. Hacer referencia a otra instancia en otra tabla.
Además, debe definirse como identificador uno o más
de los atributos.
Los valores para los identificadores son únicos.
Relaciones
➔ Los objetos de datos están conectados entre sí de
diferentes maneras.
➔ Considere dos objetos de datos, persona y auto.
➔ Se establece una conexión entre persona y auto
porque ambos objetos están relacionados.
Modelado Basado en Clases
➔ El modelado basado en clases representa los objetos
que manipulará el sistema, las operaciones (también
llamadas métodos o servicios), las relaciones
(algunas de ellas jerárquicas) y las colaboraciones.
➔ Los elementos incluyen las clases, atributos,
operaciones, clase-responsabilidad-colaborador
(CRC), diagramas de colaboración y paquetes.
Identificación de las clases
➔ Al mirar una habitación, se observa un conjunto de
objetos físicos que se identifican, clasifican y
definen fácilmente.
➔ Pero cuando se “ve” el espacio del problema de
una aplicación de software, es más difícil.
➔ Se comienza por identificar las clases mediante el
análisis de los escenarios y la ejecución de un
“análisis gramatical”.
➔ Las clases se determinan subrayando cada
sustantivo. Si la clase (sustantivo) se requiere para
implementar una solución, entonces forma parte del
espacio de solución.
Especificación de atributos
➔ Los atributos describen una clase que ha sido
seleccionada para incluirse en el modelo de
requerimientos (en el contexto del problema).
➔ Por ejemplo, si se fuera a construir un sistema que
analiza estadísticas de jugadores de fútbol, los
atributos de la clase Jugador serían muy distintos
de los que tendría la misma clase cuando se usará
en el contexto del sistema de ventas de entradas.
➔ En la primera, atributos tales como Goles y Pases
son importantes.
Definición de las
Operaciones
Por lo general se dividen en cuatro
categorías principales:
1. Operaciones que manipulan datos:
agregan, eliminan, seleccionan, etc.
2. Operaciones que realizan un cálculo.
3. Operaciones que preguntan sobre el estado.
4. Operaciones que vigilan un objeto en cuanto a la
ocurrencia de un evento de control.
Una operación debe tener “conocimiento” de la
naturaleza de los atributos.
Modelado (CRC)
➔ El modelado clase-responsabilidad-colaborador
(CRC) proporciona una manera sencilla de y
organizar las clases que son relevantes.
➔ En la parte superior de la tarjeta se escribe el
nombre de la clase, en la parte izquierda del cuerpo
se enlistan las responsabilidades de la clase y en la
derecha, los colaboradores.
➔ En realidad, el modelo CRC hace uso de tarjetas
índice reales o virtuales. El objetivo es desarrollar
una representación organizada de las clases.
Modelado (CRC)
Resumen y Conclusiones
➔ El objetivo del modelado de requerimientos es
crear varias representaciones que describan lo que
necesita el cliente, y definir un conjunto de
requerimientos que puedan ser validados.
➔ Los modelos basados en el escenario ilustran los
requerimientos del software desde el punto de vista
del usuario.
➔ El caso de uso es el principal elemento del
modelado y se obtiene durante la indagación de los
requerimientos.

Más contenido relacionado

La actualidad más candente

7.modelado de los requerimientos escenarios y clases
7.modelado de los requerimientos  escenarios y clases7.modelado de los requerimientos  escenarios y clases
7.modelado de los requerimientos escenarios y clases
Ramiro Estigarribia Canese
 
Sesion5 requerimientos de software
Sesion5 requerimientos de softwareSesion5 requerimientos de software
Sesion5 requerimientos de software
Oscar López
 
TRIGGERS O DISPARADORES
TRIGGERS O DISPARADORESTRIGGERS O DISPARADORES
TRIGGERS O DISPARADORES
Lisbeth Ocaña Bueno
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
Ares Atzarel Hernández Rodríguez
 
Modelo basado en clases
Modelo basado en clasesModelo basado en clases
Modelo basado en clases
Jesús Cedeño
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2
David Motta Baldarrago
 
Diagramas de colaboracion
Diagramas de colaboracionDiagramas de colaboracion
Diagramas de colaboraciond-draem
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
UNIVERSIDAD PERUANA DE INVESTIGACIÓN Y NEGOCIOS
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
guest0a6e49
 
Caso de Uso
Caso de UsoCaso de Uso
Caso de Uso
utrilla
 
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
Software Guru
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
Angel Miguel Coria Lopez
 
Diagramas de Casos de Uso del Negocio y del Sistema
 Diagramas de Casos de Uso del Negocio y del Sistema Diagramas de Casos de Uso del Negocio y del Sistema
Diagramas de Casos de Uso del Negocio y del Sistema
Universidad Politecnica Territorial de Merida, Kleber Ramirez
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
angel2365
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridad
kamui002
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
Katty Landacay
 

La actualidad más candente (20)

7.modelado de los requerimientos escenarios y clases
7.modelado de los requerimientos  escenarios y clases7.modelado de los requerimientos  escenarios y clases
7.modelado de los requerimientos escenarios y clases
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
Sesion5 requerimientos de software
Sesion5 requerimientos de softwareSesion5 requerimientos de software
Sesion5 requerimientos de software
 
TRIGGERS O DISPARADORES
TRIGGERS O DISPARADORESTRIGGERS O DISPARADORES
TRIGGERS O DISPARADORES
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
Modelo basado en clases
Modelo basado en clasesModelo basado en clases
Modelo basado en clases
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2
 
Diagramas de colaboracion
Diagramas de colaboracionDiagramas de colaboracion
Diagramas de colaboracion
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Caso de Uso
Caso de UsoCaso de Uso
Caso de Uso
 
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Diagramas de Casos de Uso del Negocio y del Sistema
 Diagramas de Casos de Uso del Negocio y del Sistema Diagramas de Casos de Uso del Negocio y del Sistema
Diagramas de Casos de Uso del Negocio y del Sistema
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridad
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 

Destacado

Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitosKleo Jorgee
 
Modelado del AnáLisis
Modelado del AnáLisisModelado del AnáLisis
Modelado del AnáLisisCarolina Rojas
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
manuel alfredo chacon valero
 
Modelado del análisis
Modelado del análisisModelado del análisis
Modelado del análisis
Javier Rivera
 
Unidad 5 Mad Modelado Analisis Modelo Conceptual
Unidad 5 Mad Modelado Analisis   Modelo ConceptualUnidad 5 Mad Modelado Analisis   Modelo Conceptual
Unidad 5 Mad Modelado Analisis Modelo ConceptualSergio Sanchez
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosSergio Sanchez
 

Destacado (6)

Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
 
Modelado del AnáLisis
Modelado del AnáLisisModelado del AnáLisis
Modelado del AnáLisis
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Modelado del análisis
Modelado del análisisModelado del análisis
Modelado del análisis
 
Unidad 5 Mad Modelado Analisis Modelo Conceptual
Unidad 5 Mad Modelado Analisis   Modelo ConceptualUnidad 5 Mad Modelado Analisis   Modelo Conceptual
Unidad 5 Mad Modelado Analisis Modelo Conceptual
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 

Similar a 6.modelado de los requerimientos escenarios y clases

capitulo 6.pdf
capitulo 6.pdfcapitulo 6.pdf
capitulo 6.pdf
Jhony Zolano
 
Trab 9 enero.pptx
Trab 9 enero.pptxTrab 9 enero.pptx
Trab 9 enero.pptx
MariaEsmeraldaRamosR
 
7.flujo, comportamiento, patrones y web apps
7.flujo, comportamiento, patrones y web apps7.flujo, comportamiento, patrones y web apps
7.flujo, comportamiento, patrones y web apps
Ramiro Estigarribia Canese
 
8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf
Ramiro Estigarribia Canese
 
S03.s3-Material 2 (1).pptx
S03.s3-Material 2 (1).pptxS03.s3-Material 2 (1).pptx
S03.s3-Material 2 (1).pptx
BrigithJaveMendoza
 
Metodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaughMetodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaugh
Wilfredy Inciarte
 
Tipos de modelo y metodologias
Tipos de modelo y metodologiasTipos de modelo y metodologias
Tipos de modelo y metodologiasJosafat Mtz
 
Metodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughMetodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughviisistemas
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
Dat@center S.A
 
Analisis de requerimiento
Analisis de requerimientoAnalisis de requerimiento
Analisis de requerimiento
turlahackers
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujolordXDie
 
Metodologia de iconix jhon poo
Metodologia de iconix jhon pooMetodologia de iconix jhon poo
Metodologia de iconix jhon poo
Jhon Yuqui
 
Uml
UmlUml
Jose marcano analisis y diseño de sistemas
Jose marcano analisis y diseño de sistemasJose marcano analisis y diseño de sistemas
Jose marcano analisis y diseño de sistemas
Amerigled Salgado
 
3 analisis
3 analisis3 analisis
3 analisis
mickychito
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetos
Christian Leon
 

Similar a 6.modelado de los requerimientos escenarios y clases (20)

capitulo 6.pdf
capitulo 6.pdfcapitulo 6.pdf
capitulo 6.pdf
 
Trab 9 enero.pptx
Trab 9 enero.pptxTrab 9 enero.pptx
Trab 9 enero.pptx
 
7.flujo, comportamiento, patrones y web apps
7.flujo, comportamiento, patrones y web apps7.flujo, comportamiento, patrones y web apps
7.flujo, comportamiento, patrones y web apps
 
8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf
 
0 todo
0 todo0 todo
0 todo
 
S03.s3-Material 2.pptx
S03.s3-Material 2.pptxS03.s3-Material 2.pptx
S03.s3-Material 2.pptx
 
S03.s3-Material 2 (1).pptx
S03.s3-Material 2 (1).pptxS03.s3-Material 2 (1).pptx
S03.s3-Material 2 (1).pptx
 
Metodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaughMetodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaugh
 
Tipos de modelo y metodologias
Tipos de modelo y metodologiasTipos de modelo y metodologias
Tipos de modelo y metodologias
 
Metodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughMetodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaugh
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
 
Analisis de requerimiento
Analisis de requerimientoAnalisis de requerimiento
Analisis de requerimiento
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
UML
UMLUML
UML
 
Metodologia de iconix jhon poo
Metodologia de iconix jhon pooMetodologia de iconix jhon poo
Metodologia de iconix jhon poo
 
Diagramadeflujo 140115215731-phpapp02
Diagramadeflujo 140115215731-phpapp02Diagramadeflujo 140115215731-phpapp02
Diagramadeflujo 140115215731-phpapp02
 
Uml
UmlUml
Uml
 
Jose marcano analisis y diseño de sistemas
Jose marcano analisis y diseño de sistemasJose marcano analisis y diseño de sistemas
Jose marcano analisis y diseño de sistemas
 
3 analisis
3 analisis3 analisis
3 analisis
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetos
 

Más de Ramiro Estigarribia Canese

Principios que Guían la Práctica
Principios que Guían la PrácticaPrincipios que Guían la Práctica
Principios que Guían la Práctica
Ramiro Estigarribia Canese
 
CSS - Hojas de Estilo en Cascada.pdf
CSS -  Hojas de Estilo en Cascada.pdfCSS -  Hojas de Estilo en Cascada.pdf
CSS - Hojas de Estilo en Cascada.pdf
Ramiro Estigarribia Canese
 
Python conceptos básicos
Python   conceptos básicosPython   conceptos básicos
Python conceptos básicos
Ramiro Estigarribia Canese
 
Diseño de WebApps
Diseño de WebAppsDiseño de WebApps
Diseño de WebApps
Ramiro Estigarribia Canese
 
Diseño basado en patrones
Diseño basado en patronesDiseño basado en patrones
Diseño basado en patrones
Ramiro Estigarribia Canese
 
Servicios web
Servicios webServicios web
Especificaciones de los procesadores
Especificaciones de los procesadoresEspecificaciones de los procesadores
Especificaciones de los procesadores
Ramiro Estigarribia Canese
 
Lenguaje de programación awk
Lenguaje de programación awkLenguaje de programación awk
Lenguaje de programación awk
Ramiro Estigarribia Canese
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
Ramiro Estigarribia Canese
 
Bases de datos con PHP y Mysqli
Bases de datos con PHP y MysqliBases de datos con PHP y Mysqli
Bases de datos con PHP y Mysqli
Ramiro Estigarribia Canese
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
Ramiro Estigarribia Canese
 
Variables del sistema en php
Variables del sistema en phpVariables del sistema en php
Variables del sistema en php
Ramiro Estigarribia Canese
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
Ramiro Estigarribia Canese
 
Bootstrap menues, contenedores y formularios
Bootstrap   menues, contenedores y formulariosBootstrap   menues, contenedores y formularios
Bootstrap menues, contenedores y formularios
Ramiro Estigarribia Canese
 
Estructuras de control en bash
Estructuras de control en bashEstructuras de control en bash
Estructuras de control en bash
Ramiro Estigarribia Canese
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
Ramiro Estigarribia Canese
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
Ramiro Estigarribia Canese
 
Herramienta cacti
Herramienta cactiHerramienta cacti
Herramienta cacti
Ramiro Estigarribia Canese
 
Monitoreo de datacenter
Monitoreo de datacenterMonitoreo de datacenter
Monitoreo de datacenter
Ramiro Estigarribia Canese
 
Comprensión de los requerimientos
Comprensión de los requerimientosComprensión de los requerimientos
Comprensión de los requerimientos
Ramiro Estigarribia Canese
 

Más de Ramiro Estigarribia Canese (20)

Principios que Guían la Práctica
Principios que Guían la PrácticaPrincipios que Guían la Práctica
Principios que Guían la Práctica
 
CSS - Hojas de Estilo en Cascada.pdf
CSS -  Hojas de Estilo en Cascada.pdfCSS -  Hojas de Estilo en Cascada.pdf
CSS - Hojas de Estilo en Cascada.pdf
 
Python conceptos básicos
Python   conceptos básicosPython   conceptos básicos
Python conceptos básicos
 
Diseño de WebApps
Diseño de WebAppsDiseño de WebApps
Diseño de WebApps
 
Diseño basado en patrones
Diseño basado en patronesDiseño basado en patrones
Diseño basado en patrones
 
Servicios web
Servicios webServicios web
Servicios web
 
Especificaciones de los procesadores
Especificaciones de los procesadoresEspecificaciones de los procesadores
Especificaciones de los procesadores
 
Lenguaje de programación awk
Lenguaje de programación awkLenguaje de programación awk
Lenguaje de programación awk
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
 
Bases de datos con PHP y Mysqli
Bases de datos con PHP y MysqliBases de datos con PHP y Mysqli
Bases de datos con PHP y Mysqli
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
 
Variables del sistema en php
Variables del sistema en phpVariables del sistema en php
Variables del sistema en php
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Bootstrap menues, contenedores y formularios
Bootstrap   menues, contenedores y formulariosBootstrap   menues, contenedores y formularios
Bootstrap menues, contenedores y formularios
 
Estructuras de control en bash
Estructuras de control en bashEstructuras de control en bash
Estructuras de control en bash
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Herramienta cacti
Herramienta cactiHerramienta cacti
Herramienta cacti
 
Monitoreo de datacenter
Monitoreo de datacenterMonitoreo de datacenter
Monitoreo de datacenter
 
Comprensión de los requerimientos
Comprensión de los requerimientosComprensión de los requerimientos
Comprensión de los requerimientos
 

Último

Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
JuanPrez962115
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 

Último (20)

Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 

6.modelado de los requerimientos escenarios y clases

  • 1. 6.Modelado de Requerimientos: Escenarios y Clases. Ramiro Estigarribia Canese
  • 2. El Modelo de Requerimientos. ➔ La I.S. comienza con una serie de tareas conducen a la especificación de los requerimientos. ➔ El modelo de requerimientos es la primera representación técnica de un sistema. ➔ Utiliza una combinación de texto y diagramas para ilustrarlos, a fin de que sea fácil de entender, revisar, corregir, completar y hacer congruente.
  • 3. Análisis de los Requerimientos ➔ El análisis de los requerimientos da como resultado la especificación de las características operativas del software, indica la interfaz y establece las restricciones que limitan al software. ➔ El análisis de los requerimientos permite al profesional construir sobre los requerimientos básicos establecidos durante las tareas de concepción, indagación y negociación, que son parte de la ingeniería de los requerimientos (véase el capítulo 5)
  • 4. Tipos de Modelos de Requerimientos. 1. Modelos basados en el escenario desde el punto de vista de distintos “actores” del sistema. 2. Modelos de datos, que ilustran el dominio de información del problema. 3. Modelos orientados a clases, que representan clases orientadas a objetos y sus colaboraciones. 4. Modelos orientados al flujo, que representa cómo se transforman los datos. 5. Modelos de comportamiento, a consecuencia de “eventos” externos.
  • 5. Modelado de Requerimientos. Filosofía. Durante el modelado de requerimientos la atención “se centra en Qué, y no en Cómo”: 1. ¿Qué interacción del usuario ocurre? 2. ¿Qué objetos manipula el sistema? 3. ¿Qué funciones debe realizar el sistema? 4. ¿Qué comportamientos tiene el sistema? 5. ¿Qué interfaces se definen? 6. ¿Qué restricciones son aplicables? El experto debe modelar “lo que se sabe” y usar el modelo como base para un diseño que tendrá incrementos futuros.
  • 6. Modelo de Requerimientos. Objetivos. 1. Describir lo que requiere el cliente. 2. Establecer una base el diseño del software. 3. Definir un conjunto de requerimientos que puedan validarse una vez terminado el software. El modelo de análisis es un puente entre la descripción en el nivel del sistema que se centra en la funcionalidad del negocio que se logra con la aplicación de software, hardware, datos, personas y un diseño de software.
  • 7. Reglas prácticas del análisis Arlow y Neustadt sugieren estas reglas prácticas: 1. Debe centrarse en los requerimientos que sean visibles dentro del problema. 2. El nivel de abstracción debe ser elevado: “No se empantane en los detalles”. 3. Hay que retrasar las consideraciones de la infraestructura y otros modelos no funcionales hasta llegar a la etapa del diseño. 4. Mantener el modelo tan sencillo como se pueda. No genere diagramas adicionales si no agregan nueva información.
  • 8. Análisis del Dominio de SW ➔ Es frecuente que existan patrones que se repiten en muchas aplicaciones dentro de un dominio de negocio específico. ➔ Si éstos se definen y clasifican en forma tal que puedan reconocerse y aplicarse para resolver problemas comunes: la creación del modelo del análisis será más eficiente. ➔ Esto mejora el tiempo para llegar al mercado y reduce los costos de desarrollo.
  • 9. ¿Qué es el Análisis del Dominio de SW? ➔ Es la identificación, análisis y especificación de los requerimientos comunes, a partir de un dominio de aplicación específica, normalmente para usarlo varias veces en múltiples proyectos. ➔ La meta del análisis del dominio es clara: encontrar o crear aquellas clases o patrones de análisis que sean aplicables en lo general, de modo que puedan volverse a usar.
  • 10. Modelado Basado en Escenarios. ➔ Aunque el éxito de un sistema se mide de muchas maneras, la satisfacción del usuario ocupa el primer lugar de la lista. ➔ Si se entiende cómo desean interactuar los usuarios finales con un sistema, el equipo del software estará mejor preparado para caracterizar adecuadamente los requerimientos. ➔ Entonces, el modelado de los requerimientos con UML comienza con la creación de escenarios en forma de casos de uso, diagramas de actividades y diagramas de canales.
  • 11.
  • 12. Creación de un caso preliminar de uso En el capítulo-5 se dijo que un caso de uso describe en lenguaje claro un escenario específico desde el punto de vista de un actor definido. Pero: ¿Cómo se sabe sobre qué escribir, cuánto escribir sobre ello, cuán detallada hacer la descripción y cómo organizarla? Son preguntas que deben responderse si los casos de uso han de tener algún valor como herramienta para modelar los requerimientos.
  • 13. Casos de Uso. ¿Sobre qué escribir? ➔ Para comenzar se listan las funciones o actividades realizadas por un actor específico. ➔ Éstas se obtienen de una lista de las funciones requeridas del sistema, por medio de conversaciones con los participantes o con la evaluación de los diagramas de actividades desarrollados como parte del modelado de los requerimientos.
  • 14. Mejora de un caso de uso. Para entender por completo un caso de uso, es esencial describir interacciones alternativas. Después se evalúa, planteando las preguntas: 1. ¿El actor puede emprender otra acción? 2. ¿Es posible que el actor encuentre algún de error? 3. ¿Es posible que el actor encuentre otro comportamiento? En ese caso, ¿cuál sería? Las respuestas dan como resultado la creación de un conjunto de escenarios secundarios que forman parte del caso de uso original, pero que representan comportamientos alternativos.
  • 15.
  • 16. ¿Cuándo Graficar? ➔ En muchos casos, no hay necesidad de crear una representación gráfica de un escenario. ➔ La representación facilita la comprensión, en particular cuando el escenario es complejo. ➔ En tales casos, es posible elegir de entre una amplia variedad de modelos UML.
  • 17. Diagrama de actividades ➔ El diagrama de actividad UML enriquece el caso de uso al proporcionar una representación gráfica del flujo de interacción dentro de un escenario específico. ➔ Un diagrama de actividades es similar a uno de flujo, y utiliza rectángulos redondeados para denotar una función específica del sistema, flechas para representar flujo a través de éste, rombos de decisión para ilustrar una ramificación de las decisiones y líneas continuas para indicar que están ocurriendo actividades en paralelo.
  • 19. Diagramas de canales (swimlane) ➔ El diagrama de canal de UML es una variación útil del diagrama de actividades y permite representar el flujo de actividades descritas por el caso de uso; al mismo tiempo, indica qué actor es responsable de la acción descrita por un rectángulo de actividad. ➔ Las responsabilidades se representan con segmentos paralelos que dividen el diagrama en forma vertical, como los canales o carriles de una piscina.
  • 20.
  • 21. Atributos de los datos Los atributos de los datos definen las propiedades de un objeto y tienen una de tres diferentes características. Se usan para: 1. Nombrar una instancia del objeto de datos 2. Describir la instancia 3. Hacer referencia a otra instancia en otra tabla. Además, debe definirse como identificador uno o más de los atributos. Los valores para los identificadores son únicos.
  • 22. Relaciones ➔ Los objetos de datos están conectados entre sí de diferentes maneras. ➔ Considere dos objetos de datos, persona y auto. ➔ Se establece una conexión entre persona y auto porque ambos objetos están relacionados.
  • 23. Modelado Basado en Clases ➔ El modelado basado en clases representa los objetos que manipulará el sistema, las operaciones (también llamadas métodos o servicios), las relaciones (algunas de ellas jerárquicas) y las colaboraciones. ➔ Los elementos incluyen las clases, atributos, operaciones, clase-responsabilidad-colaborador (CRC), diagramas de colaboración y paquetes.
  • 24. Identificación de las clases ➔ Al mirar una habitación, se observa un conjunto de objetos físicos que se identifican, clasifican y definen fácilmente. ➔ Pero cuando se “ve” el espacio del problema de una aplicación de software, es más difícil. ➔ Se comienza por identificar las clases mediante el análisis de los escenarios y la ejecución de un “análisis gramatical”. ➔ Las clases se determinan subrayando cada sustantivo. Si la clase (sustantivo) se requiere para implementar una solución, entonces forma parte del espacio de solución.
  • 25. Especificación de atributos ➔ Los atributos describen una clase que ha sido seleccionada para incluirse en el modelo de requerimientos (en el contexto del problema). ➔ Por ejemplo, si se fuera a construir un sistema que analiza estadísticas de jugadores de fútbol, los atributos de la clase Jugador serían muy distintos de los que tendría la misma clase cuando se usará en el contexto del sistema de ventas de entradas. ➔ En la primera, atributos tales como Goles y Pases son importantes.
  • 26. Definición de las Operaciones Por lo general se dividen en cuatro categorías principales: 1. Operaciones que manipulan datos: agregan, eliminan, seleccionan, etc. 2. Operaciones que realizan un cálculo. 3. Operaciones que preguntan sobre el estado. 4. Operaciones que vigilan un objeto en cuanto a la ocurrencia de un evento de control. Una operación debe tener “conocimiento” de la naturaleza de los atributos.
  • 27. Modelado (CRC) ➔ El modelado clase-responsabilidad-colaborador (CRC) proporciona una manera sencilla de y organizar las clases que son relevantes. ➔ En la parte superior de la tarjeta se escribe el nombre de la clase, en la parte izquierda del cuerpo se enlistan las responsabilidades de la clase y en la derecha, los colaboradores. ➔ En realidad, el modelo CRC hace uso de tarjetas índice reales o virtuales. El objetivo es desarrollar una representación organizada de las clases.
  • 29. Resumen y Conclusiones ➔ El objetivo del modelado de requerimientos es crear varias representaciones que describan lo que necesita el cliente, y definir un conjunto de requerimientos que puedan ser validados. ➔ Los modelos basados en el escenario ilustran los requerimientos del software desde el punto de vista del usuario. ➔ El caso de uso es el principal elemento del modelado y se obtiene durante la indagación de los requerimientos.