Ingeniería de Software
Prof. Andrés Rice Mora
SADT RDD SA/SD OOSE OOA OMT UP Catalysis
: Structured Analysis and Design Techniue !Ross"#$ : Reuire%ent Dri&en Design !Alford"#$ : Structured Analysis and Structured Design !'ourdon()onstantine*+$ !'ourdon()onstantine*+$ : ,-ect/,riented Software 0ngineering !aco-son+2$ : ,-ect/,riented Analysis !3old-erg$ : ,-ect Modeling Techniue !Ru%-augh+4$ : 5nified Process !6ooch(aco-son(Ru%-augh+"$ !6ooch(aco-son(Ru%-augh+"$ : )at7lisis !D8Sou9a+"$
Prof. Andrés Rice Mora
1
Ingeniería de Software
Diagramas de UML
Ruta Estática
Captura Requisitos
Análisis
Diseño
Programación
Pruebas Sistema Completo
Ruta Funcional
Prof. Andrés Rice Mora
Ingeniería de Software
Prof. Andrés Rice Mora
OMT ! Ca"tura de Re#uisitos
Captura Requisitos
Análisis
Diagrama de Clases
Diseño
Programación
Diseño de Clases
Declaraciones
class ' > function4<=B function#<=B E ?B CB
Requisitos )aso de 5so A )aso de 5so 6
)aso de 5so )
$ ,tros Reuisitos
Pruebas
Casos de Pruebas )aso de 5so A )aso de 5so 6 )aso de 5so )
Lista de operaciones
Diagrama de secuencia
Codificación
,FeraciGn 1 ,FeraciGn ,FeraciGn 4
'::function#<= >
$ ,tros Reuisitos
?/@function<=B CB
,FeraciGn 2 ,FeraciGn #
,FeraciGn $
Prof. Andrés Rice Mora
2
Ingeniería de Software
OMT ! Análisis O%O% Captura Requisitos
Análisis
Diseño
Programación
Pruebas
Propósito de la Fase Análisis OO : • Comprender el dominio del problema. • Comprender el sistema a desarrollar.
Fase Análisis OO : • Se apoya en los requisitos funcionales y no-funcionales. • Considera dos herramientas para esta fase : • Diagrama de Clase del análisis. • Diagrama de comportamiento.
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Diagrama de Clase. Propósito: • Identificar y especifica todos los conceptos claves del dominio del problema y del sistema a desarrollar. • Esta tarea produce un modelo de objetos del análisis que muestra los conceptos claves del dominio y la relación entre ellos. • Se produce diagramas de clases que son la base para el desarrollo de los demás modelos del sistema. • Para OMT++ no trae beneficio determinar los métodos de las clase, por lo tanto, las clases no los incluye. • El diagrama siempre va acompañado de un diccionario de datos.
El modelo de objetos del análisis no incluye conceptos de implementación Prof. Andrés Rice Mora
#
Ingeniería de Software
OMT ! Análisis O%O%
Diagrama de Clases
Diccionario de Datos
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Análisis del Comportamiento.
• Define las operaciones que el usuario ejecuta con el sistema. • Las operaciones deben cubrir la totalidad de las funciones del sistema. • Los casos de uso y los requisitos funcionales son la fuente más importante para identificar las operaciones. • Un caso de uso pueden contener una o más operaciones. • Los casos de uso cubren sólo la parte más importante de la funcionalidad del sistema.
Prof. Andrés Rice Mora
Ingeniería de Software
OMT ! Análisis O%O% Análisis de Comportamiento. Análisis de operaciones Ejemplo de Operaciones de una aplicación :
1. 0scri-ir un %ensae corto . Agregar una frase 4. Seleccionar receFtores y gruFos 2. 3uardar un %ensae #. 0n&iar un %ensae corto . )argar un %ensae *. Ingresar infor%aciGn de receFtores ". )rear un gruFo +. 0li%inar un gruFo 1H. Agregar receFtores a un gruFo 11. Sacar receFtores de un gruFo 1. Modificar infor%e de receFtores
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Análisis de Comportamiento. Especificación de operaciones :
JA#uellas o"eraciones #ue implican una comunicación entre la aplicación y otras entidades, se anali-an como especificación de operaciones% Es"eci&icaci'n de la o"eraci'n () * Ilustra cG%o la aFlicaciGn se co%unica con agentes e?ternos ,FeraciGn : 0n&iando un %ensae corto Precondici'n* 0l %ensae est7 escrito los receFtores seleccionados. E+ce"ciones* 0l en&ío falla: entonces se %uestra un %ensae de error. 0l teléfono del receFtor no reci-e el %ensaeB nada se Fuede hacer la red intenta en&iar &arias &eces deFendiendo de su configuraciGn. Pos condici'n* 0l %ensae es en&iado al los receFtores seleccionados Prof. Andrés Rice Mora
*
Ingeniería de Software
OMT ! Análisis O%O% Análisis de Comportamiento. Diagrama de Secuencia:
Los diagramas de secuencia descri.en la interacci'n entre di&erentes o.etos y com"onentes del sistema%
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Análisis de Comportamiento. Diagrama de Secuencia:
Los diagramas de secuencia descri.en la interacci'n entre di&erentes o.etos y com"onentes del sistema%
Es"eci&icaci'n de la o"eraci'n () * Ilustra cG%o la aFlicaciGn se co%unica con agentes e?ternos ,FeraciGn : 0n&iando un %ensae corto Precondici'n* 0l %ensae est7 escrito los receFtores seleccionados. E+ce"ciones* 0l en&ío falla: entonces se %uestra un %ensae de error. 0l teléfono del receFtor no reci-e el %ensaeB nada se Fuede hacer la red intenta en&iar &arias &eces deFendiendo de su configuraciGn. Pos condici'n* 0l %ensae es en&iado al los receFtores seleccionados
Prof. Andrés Rice Mora
"
Ingeniería de Software
OMT ! Análisis O%O% Análisis de Comportamiento. Resumen 1. . 4. 2. #. . *. ". +. 1H. 11. 1.
0scri-ir un %ensae corto Lista de Agregar una frase Operaciones Seleccionar receFtores y gruFos 3uardar un %ensae 0n&iar un %ensae corto )argar un %ensae Es"eci&icaci'n de la o"eraci'n () * Ilustra cG%o la aFlicaciGn se co%unica con agentes Ingresar infor%aciGn de receFtores e?ternos ) re ar un gru Fo Especificación de 0li%inar un gruFo ,FeraciGn : 0n&iando un %ensae corto Operaciones Agregar receFtores a un gruFo Sacar receFtores de un gruFo Precondici'n* 0l %ensae est7 escrito los receFtores Modificar infor%e deseleccionados. receFtores E+ce"ciones* 0l en&ío falla: entonces se %uestra un %ensae de error. 0l teléfono del receFtor no reci-e el %ensaeB nada se Fuede hacer la red intenta en&iar &arias &eces deFendiendo de su configuraciGn.
Diagrama de Secuencia
Pos condici'n* 0l %ensae es en&iado al los receFtores seleccionados
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Especificación de la Interfaz de Usuario Una vez analizadas las operaciones, se identifican las más importantes desde el punto de vista del usuario. Las operaciones más importantes se llaman primarias.
Operaciones Primarias. • Son las operaciones más comunes y c onsumidoras de tiempo, típicamente las operaciones por las cuales se implementa la aplicación. • La ventana principal debería proveer soporte para estas operaciones. • Las demás, las secundarias, son provistas en diálogos adicionales.
Prof. Andrés Rice Mora
+
Ingeniería de Software
OMT ! Análisis O%O% Especificación de la Interfaz de Usuario Diagrama de Diálogo: Notación de diagramas de estado de UML • Un estado se entiende por un diálogo, ventana, o página web. Estado: Re"resenta una situaci'n en la cual ocurre una condici'n 0es"erando un e1ento, reali-ando una tarea, etc%2%
• Un evento causa el movimiento desde un diálogo a otro. Transición: De&ine el mo1imiento de un estado a otro% La transici'n es rotulada%
Entrada: entrada a una má#uina de estado, de.e de&inirse una entrada "ara cada regi'n%
Término: t3rmino de una má#uina de estado% Prof. Andrés Rice Mora
OMT ! Análisis O%O% Especificación de la Interfaz de Usuario Diagrama de Estado
1. . 4. 2. #. . *. ". +. 1H. 11. 1.
0scri-ir un %ensae corto Agregar una frase Seleccionar receFtores y gruFos 3uardar un %ensae 0n&iar un %ensae corto )argar un %ensae Ingresar infor%aciGn de receFtores ) rea r un gru Fo 0li%inar un gruFo Agregar receFtores a un gruFo Sacar receFtores de un gruFo Modificar infor%e de receFtores
Prof. Andrés Rice Mora
1H
Ingeniería de Software
OMT ! Análisis O%O% Especificación de la Interfaz de Usuario
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Especificación de la Interfaz de Usuario Kos%odelos%entalesinfluyen de dos
J Cuando el usuario &inal interact4a con la inter&a- 3l utili-a modelos mentales "ara descri.ir, e+"licar y "redecir el com"ortamiento del sistema%
%anerasen lasFersonas: Deter%inan el cG%o interFreta%os el %undo y deter%inan nuestro %odo d e i nt er ac tu ar c on e se % un do < so n acti&os=.
J Un modelo mental es una representación de una a.stracci'n de la realidad%
J Los modelos mentales de.en "oder explicar los objetos que aparecen en una interfaz y las relaciones entre ellos. Prof. Andrés Rice Mora
11
Ingeniería de Software
OMT ! Análisis O%O% Especificación de la Interfaz de Usuario J Se su"one #ue el usuario tiene objetivos en su mente cuando está utili-ando una a"licaci'n% J La inter&a- de usuario de.e proveer los medios necesarios "ara #ue el usuario alcance sus o.eti1os% J Cuando es"eci&i#ue la es"eci&i#ue la inter&a- de usuario considere #ue el desarrollador debe conocer: a2 los objetivos del usuario, .2 ti"os de medios y equipamiento "ara alcan-ar los o.eti1os, c) cómo se alcanzarán los objetivos con los medios dados%
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Especificación de la Interfaz de Usuario Elementos de la interfaz de usuario
• Un interfaz de usuario es una construcción jerárquica. • La figura representa los elementos de una interfaz de usuario usando la notación del modelo de objeto de OMT++. AgregaciGn
Interfa9 de usuario
Di7logos
Lerra%ientas
)o%Fonentes
Lerra%ientas Lerra%ientas
Lerra%ientas Lerra%ientas
MultiFlicidad de asociaciones
Lerencia
Lerra%ientas Prof. Andrés Rice Mora
1
Ingeniería de Software
OMT ! Análisis O%O% Especificación de la Interfaz de Usuario Elementos de la interfaz de usuario
J Los diálogos son caas de diálogo o 1entanas5 J Un componente es una colecci'n de elementos de un sistema de 1entanas5 J Cada com"onente de.iera &ormar una unidad cognitiva; J Una unidad cognitiva es un objeto a tra13s del cual el usuario y la a"licaci'n se comunican entre si5 J Los com"onentes son acentuados mediante se"aradores 1isuales tales como bordes, colores y agrupación; J T6"icamente, un com"onente de.iera ser im"lementado como una clase%
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Especificación de la Interfaz de Usuario Modelo de actividad del usuario
J La acti1idad es mirada como una construcción jerárquica de tres ti"os*
5suario inal
Ejecuta
Ejecuta
Ejecuta
,FeraciGn
Tarea
AcciGn
Prof. Andrés Rice Mora
14
Ingeniería de Software
OMT ! Análisis O%O% Especificación de la Interfaz de Usuario Elementos del modelo de actividad • Operación * Una acti1idad "ara la cual se im"lementa la a"licaci'n%
Eem"lo * 7er
el saldo de una cuenta corriente
Trans&erir
dinero de una cuenta .ancaria a otra%
Res"onder un mensae%
• Tarea * Unidad signi&icati1a de tra.ao tal #ue no es necesario otro
conte+to de tra.ao "ara esta.lecer el signi&icado de su acci'n% Eem"lo * 8orrar una "ala.ra% 9ra.ar
arc:i1o seleccionado%
Di.uar una eli"se
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Especificación de la Interfaz de Usuario Elementos del modelo de actividad • Acción * La acti1idad más sim"le #ue un usuario "uede eecutar so.re
la inter&a-% Eem"lo * Cancelar% Entrar% En1iar% Salir
Prof. Andrés Rice Mora
12
Ingeniería de Software
OMT ! Análisis O%O% Especificación de componentes de una interfaz de usuario Diálogo
J
Com"onentes
J
;erramientas de mani"ulaci'n%
J
;erramientas de retroalimentaci'n%
J
;erramientas com.inadas%
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Ejemplo de especificación de la herramienta para gestionar fecha y hora de Windows 98.
Prof. Andrés Rice Mora
1#
Ingeniería de Software
OMT ! Análisis O%O% Ejemplo de especificación de la herramienta para gestionar fecha y hora de Windows 98.
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Estructura de la interfaz Descri"ci'n de la notaci'n del diagrama de diálogos
•
Diálogo inicial.
Prof. Andrés Rice Mora
1
Ingeniería de Software
OMT ! Análisis O%O% Estructura de la interfaz Descri"ci'n de la notaci'n del diagrama de diálogos Diálogo no-modal : La modalidad de una ventana es como mantiene el foco respecto a las demás ventanas del sistema; el diálogo nomodal permite alternar el foco a c ualquier otro diálogo presente del entorno gráfico
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Estructura de la interfaz Descri"ci'n de la notaci'n del diagrama de diálogos Selección condicionada.
Prof. Andrés Rice Mora
1*
Ingeniería de Software
OMT ! Análisis O%O% Estructura de la interfaz Descri"ci'n de la notaci'n del diagrama de diálogos Selección con acción.
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Estructura de la interfaz Eem"lo Actividad previa * Análisis de o.etos y com"ortamientos%
Aplicación de ejemplo : ATM La aplicación permite al usuario pagar sus deudas en un terminal de computador . La aplicación le da al usuario el acceso a sus cuentas de banco. Le permite transferir dinero desde una de sus cuentas a las cuentas de otras personas o compañías.
Prof. Andrés Rice Mora
1"
Ingeniería de Software
OMT ! Análisis O%O% Estructura de la interfaz Modelo de o.eto del ATM
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Estructura de la interfaz O"eraciones del ATM Las siguientes operaciones fueron descubiertas durante la fase de análisis de comportamiento. 1. El usuario comprueba el saldo de su cuenta. 2. El usuario paga deudas, esto es, el usuario pone cuentas de deudas en una lista de espera para que sean pagadas por el banco en la fecha de vencimiento. 3. El usuario modifica la lista de deudas que están esperando por ser pagadas. 4. El usuario saca una deuda por pagar de la lista de espera. 5. El usuario comprueba las transacciones recientes.
Prof. Andrés Rice Mora
1+
Ingeniería de Software
OMT ! Análisis O%O% Estructura de la interfaz Es"eci&icando una inter&a-$ a) La primera fase de la especificación de una interfaz de usuario es el análisis de operaciones. b) Se analiza cada operación del usuario y se crean tareas que concuerden con ellas. c) Luego de dividir las operaciones en tareas, se detecta que algunas tareas son comunes. d) Se recolectan y se listan todas las tareas.
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Tareas necesarias para que un usuario compruebe el saldo de sus cuentas (op.1) 1) Seleccionar una cuenta de usuario 2) Leer el saldo de la cuenta seleccionada
Tareas necesarias para que un usuario pague sus deudas (op.2) 1) Seleccionar una cuenta de usuario 2) Modificar info. Relacionada con la deuda a ser pagada 3) Poner la deuda en la lista de espera
Prof. Andrés Rice Mora
H
Ingeniería de Software
OMT ! Análisis O%O% Tareas necesarias para que un usuario modifique una deuda que está esperando a ser pagada en una fecha de vencimiento (op.3) 1) Seleccionar una deuda de la lista de espera 2) Sacar la deuda de la lista de espera
Tareas necesarias para que un usuario saque una deuda de la lista de espera (op.4) 1) Seleccionar una deuda de la lista de espera 2) Modificar info. De la deuda a ser pagada
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Tareas necesarias para que un usuario compruebe las transacciones más recientes (op.5) 1) Seleccionar una cuenta de usuario 2) Leer transacciones relacionadas con la cuenta seleccionada
Prof. Andrés Rice Mora
1
Ingeniería de Software
OMT ! Análisis O%O% Tareas de la aplicación
1) Seleccionar una cuenta de usuario 2) Leer el saldo de la cuenta seleccionada 3) Leer transacciones relacionadas con la cuenta seleccionada 4) Modificar info. De la deuda a ser pagada 5) Poner la deuda en la lista de espera 6) Sacar la cuenta de deuda de la lista de espera 7) Seleccionar una deuda de la lista de espera
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Estructura de la interfaz
Prof. Andrés Rice Mora
Ingeniería de Software
OMT ! Análisis O%O% Especificación de los componentes gráficos. Diálogo del terminal bancario.
Salida
AcciGn
0ntradaNsalida
Prof. Andrés Rice Mora
OMT ! Análisis O%O% Especificación de los componentes gráficos. Otros diálogos de la aplicación
Prof. Andrés Rice Mora
4
Ingeniería de Software
OMT ! Análisis O%O% Visualización de los diálogos.
Prof. Andrés Rice Mora
Prof. Andrés Rice Mora
2