301403_32_Teorico
-
Upload
carlos-andres-gutierrez -
Category
Documents
-
view
215 -
download
0
Transcript of 301403_32_Teorico
-
8/20/2019 301403_32_Teorico
1/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Proyecto de Investigación TeóricoReservación de citas de ortodoncia
Presentado por:
Sebastián Morales OrtizCódigo_111!1"#$#!
%iego &'g'sto (ranco )ópezCódigo_111*+,*#",
%ar-o . /ic'0a
Código_1"$#!#,$,+
%avid de es2s Restrepo Ca0asCodigo_,1*$*+*$
3r'po:*"14"*_*!
T'tor:Cesar Orlando i56nez &ngarita
78I/.RSI%&% 8&CIO8&) &9I.RT& & %IST&8CI&.SC7.)& %. CI.8CI&S 9&SIC&S T.C8O)O3I& . I83.8I.RI&
PRO3R&M& I83.8I.RI& %. SIST.M&SCO)OM9I&
Página 1
-
8/20/2019 301403_32_Teorico
2/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Tabla de Contenidos
Introd'cción
Cap-t'lo + Modelo de Re;'isitos6.1. Descripción del Problema6.2. Modelo de Caso de Uso6.3. Modelo de Interfaces6.4. Actores y Caso de Uso6.. Modelo de Dominio del Problema
Cap-t'lo , Modelo de &nálisis!.1. Ar"#itect#ra de Clases!.2. Identificación de Clases se$%n &stereotipos!.3. Clases se$%n Casos de Uso!.4. Dia$ramas de 'ec#encia!.. Casos de Uso para el 'istema
!.6. Diccionario de Clases
Cap-t'lo $ Modelo de %ise0o(.1. &strate$ias de Dise)o(.2. Dise)o de *b+etos(.3. Dise)o de 'istema(.4. ,e-isión del Dise)o(.. Dia$rama de 'ec#encia del Dise)o
Concl'siones
Reco5endaciones
9ibliográ
-
8/20/2019 301403_32_Teorico
3/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Introd'cción
a reali/ación de diferentes prop#estas de in-esti$ación basadas en pro$ramación orientada
a ob+etos permite al est#diante abordar $ran cantidad de temas a la -e/0 permite poner en
prctica la ima$inación e in-esti$ar los temas con ms inters.
Para reali/ar el proyecto de forma correcta se debe lle-ar #na sec#encia0 adems se debe
identificar y esco$er los actores primarios0 los casos de #so y los actores sec#ndarios.
&n el presente traba+o colaborati-o se desarrollarn las temticas de la Parte III sobre el
Desarrollo de 'oftare *rientado a *b+etos del Capt#lo (5 Modelo de Dise)o. Cada
inte$rante del $r#po de traba+o colaborati-o desarrollar #no de los temas del capt#lo con el
fin de traba+ar en #n mismo proyecto aplicando el aprendi/a+e basado en proyectos como
estrate$ia de aprendi/a+e los temas son las estrate$ias de dise)o del proyecto de
in-esti$ación0 el dise)o de ob+etos del proyecto de in-esti$ación0 el dise)o de sistema del
proyecto0 la re-isión del Dise)o del proyecto y los dia$ramas de sec#encias del dise)o de
todo el proyecto de in-esti$ación. por %ltimo se presentarn #nas concl#siones de la
acti-idad prop#esta.
Página 3
-
8/20/2019 301403_32_Teorico
4/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Ob=etivos
• *r$ani/ar tareas colecti-as aportando y s#perando las dific#ltades "#e se presenten0
con #na actit#d tolerante 7acia las ideas de los compa)eros.
• Mantener b#enas relaciones con los miembros del $r#po0 responsabili/ndose de la
consec#ción de los ob+eti-os.
• ,eali/ar #na presentación indi-id#al y donde proporcione datos de contacto como5
correo instit#cional0 c#enta en '8ype0 n%mero de cel#lar.
• Proponer las d#das "#e ten$a sobre el tema en el foro correspondiente.
• ,eali/ar los aportes correspondientes para concl#ir de manera satisfactoria el traba+o
final a entre$ar.
•
&ntre$ar el arc7i-o final prod#cto de la acti-idad0 teniendo en c#enta los lineamientosde nombre del arc7i-o y formato.
• As#mir #n rol dentro del $r#po colaborati-o con el fin de tener f#nciones especficas
dentro del e"#ipo de traba+o.
Página 4
-
8/20/2019 301403_32_Teorico
5/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Cap-t'lo + Modelo de Re;'isitos
6.1. Descripción del Problema
&l sistema de reser-ación de citas de ortodoncia permite al #s#ario 7acer cons#ltas yreser-ación de citas0 se desea "#e este sistema in$rese por medio de la 9orld 9ide 9eb
:internet;0 sin necesidad de 7acer acto de presencia
&ste sistema presentara di-ersos mensa+es describiendo cada #no de los ser-icios ofrecidos0paralelamente contara con la opción re$istrar e in$resar0 la primera opción para personasn#e-as "#e in$resan al sistema y la se$#nda opción para los "#e ya 7an in$resado
anteriormente. Este acceso se da por medio de la inserción de un login previamente especificado
y un password ya escogido y que debe validarse.
Una -e/ in$resado al sistema el #s#ario p#ede reali/ar las si$#ientes operaciones5
Cons#lta de citas
Cons#lta de especialistas
-
8/20/2019 301403_32_Teorico
6/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Por %ltimo el #s#ario podr cons#ltar los ser-icios "#e f#eron prestados #na -e/ termine lacita.
6.2. Modelo de Caso de Uso
Caso de 'so
&l actor principal en n#estro sistema son los #s#arios0 los casos de #so son0 re$istrar #s#ario"#e como s# nombre lo indica es donde el #s#ario in$resara para acceder a re$istrarsedentro del sistema0 cons#ltar cita donde se informara sobre la disponibilidad de las mismas0fact#ración de citas en donde se reser-ara la cita y por #ltimo cons#ltar especialista dondese podr esco$er el "#e c#mpla con las e?pectati-as0 por otro lado los actores sec#ndariosson0 base de datos re$istros y base de datos reser-aciones0 "#e son las "#e soportan loscasos de #so.
o -emos $rficamente.
.>tensión
=acemos #na e?tensión en pa$o de fact#ración0 desp#s "#e la e?tensión se 7a terminado0el c#rso ori$inal contin%a como si nada 7#biera oc#rrido
>emos la $rfica.
Página 6
-
8/20/2019 301403_32_Teorico
7/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Incl'sión
&s #na sección de #n caso de #so "#e es parte obli$atoria del caso de #so bsico0 en n#estrocaso Cons#ltar cita0 cons#ltar especialista y fact#rar cita debe ser incl#ido con -alidar#s#ario.
3eneralización
@#scamos actores abstractos0 en n#estro sistema0 el caso de #so fact#ración0 p#ede $enerar
cobros "#e se p#eden pa$ar con tar+eta de crdito o lle$ando 1 min#tos antes a la clnica.
Página 7
-
8/20/2019 301403_32_Teorico
8/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Modelos de caso de 'so
>emos el $rafico como "#edara completo.
6.3. Modelo de Interfaces
Página 8
-
8/20/2019 301403_32_Teorico
9/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
&ste modelo es de s#ma importancia para el b#en desarrollo del sistema0 in-ol#cra -ariosactores a la 7ora de la reali/ación0 -emos como posiblemente "#edara n#estro sistema dereser-ación de citas de ortodoncia.
&l primer c#adro permite anali/ar los re"#erimientos del sistema y est#diar los posibles#s#arios "#e lo #tili/aran0 tambin se definir los prototipos del sistema0 el 9ireframe "#erepresentara la estr#ct#ra -is#al0 el dominio donde se alo+ara0 y tambin lo$raremos reali/ardiferentes pr#ebas de -alidación.
&l se$#ndo c#adro pertenece al dise)ador $rfico0 ya iremos dndole -ida al sistema0insertaremos im$enes $rficas0 el ayo#t "#e permite $enerar #na c#adric#la ima$inariafacilitando la di-isión entre te?to e im$enes0 se definir el color y se ira modificando eldominio0 contara con el libro de estilos y las plantillas necesarias.
&l tercer c#adro pertenece al pro$ramador0 este desarrollara el códi$o para $enerar todos losre"#erimientos del sistema0 creara el pro$rama como se 7a establecido 7asta el momento.
6.4. Actores y Caso de Uso
&ctores
Actor Us#ariosCasos de #so ,e$istrar Us#ario0 >alidar #s#ario0
Cons#ltar cita0 Cons#ltar &specialista0
Página 9
-
8/20/2019 301403_32_Teorico
10/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
,eali/ar fact#ración0 pa$ar fact#ración0re$istrar tar+eta
ipo PrimarioDescripción &l actor principal es c#al"#ier persona "#e
desea acceder a #na cita de ortodoncia a la7ora y con el especialista "#e desee.
9ase de datos Registros
Actor @ase de datos ,e$istrosCasos de #so ,e$istrar Us#ario0 >alidar #s#ario y
,e$istrar tar+etaipo 'ec#ndarioDescripción ,epresenta #na base de datos donde
$#ardaremos la información de los #s#arios
y las tar+etas de crdito con las "#eposiblemente cancelaran al$#nas citas
9ase de datos Reservaciones
Actor @ase de datos ,eser-acionesCasos de #so Cons#ltar Citas0 Cons#ltar especialistas0
,eali/ar fact#ración y pa$ar fact#raciónipo 'ec#ndarioDescripción ,epresenta #na base de datos en la c#al el
#s#ario p#ede reali/ar la b%s"#eda de citas0los especialistas disponibles0 los costos delos tratamientos y los 7orarios disponiblespara esta.
/alidar 's'ario
Caso de #so >alidar Us#arioActores Us#ario y base de datos re$istroipo Incl#siónDescripción >alidaremos al #s#ario con el fin de "#e
ten$a acceso a n#estro sistema y lo$re
7acer las cons#ltas y las citas necesariasdesde s# -i-ienda0 de i$#al manera #na -e/re$istrado ya tendrn s# #s#ario ycontrase)a y podr entrar sin problemasc#antas -eces desee.
Página 10
-
8/20/2019 301403_32_Teorico
11/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
,e$istrar Us#ario
Caso de #so ,e$istrar Us#arioActores Us#ario y base de datos re$istroipo @sico
Descripción Al estar re$istrado correctamente el #s#ariopodr acceder a toda n#estra informaciónde manera libre y rpida0 podr 7acercons#ltas y reali/ar fact#ración de citas.
,e$istrar tar+etas
Caso de #so ,e$istrar tar+etasActores Us#ario y base de datos re$istroipo &?tensión
Descripción Permite "#e el #s#ario re$istre s# o s#star+etas de crdito para "#e no ten$aincon-enientes a la 7ora de reali/ar el pa$ode la fact#ración de la cita.
Cons#ltar citas
Caso de #so Cons#ltar CitasActores Us#ario y base de datos ,eser-acionesipo @sicoDescripción &l #s#ario podr cons#ltar los 7orarios de
citas0 el -alor de las citas0 el -alor deltratamiento y el estado de cita0 p#diendo deesta manera esco$er la "#e ms se le aco+aal tiempo disponible.
Cons#ltar especialistas
Caso de #so Cons#ltar &specialistasActores Us#ario y base de datos ,eser-aciones
ipo @sicoDescripción &l #s#ario podr cons#ltar los diferentes
especialistas disponibles para el tratamiento"#e se esco$er0 tenemos los si$#ientes5*rtodoncista0 Cir#+ano Ma?ilofacial0=i$ienista0 A#?iliar
Página 11
-
8/20/2019 301403_32_Teorico
12/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
,eali/ar
-
8/20/2019 301403_32_Teorico
13/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
,eser-ación &stado cita,e$istroUs#ario Cliente
=orario ,e$istro tar+eta&specialista ClnicaCons#ltorio
%I&3R&M& %. C)&S.S CO8 &SOCI&CIO8.S
Una cita re"#iere reser-aciones.
Una cita re"#iere de #n cons#ltorio.
Una cita contare costos
Una cita se efect%a en #na clnica.
Una cita tiene estados.
Una cita re"#iere de #n especialista.
Una cita tiene #n 7orario.
Un cliente reali/a reser-aciones.
Una reser-ación re"#iere de #n re$istro de tar+eta de crdito.
Un re$istro de tar+eta pertenece a #n re$istro de #s#ario
/.MOS .) MO%.)O %.) %OMI8O %.) PRO9).M&
Página 13
-
8/20/2019 301403_32_Teorico
14/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Una cita re"#iere #na sola clnica:de 1 a 1;
Una cita p#ede tener -arios estados :de 1 a m#c7os;
Una cita p#ede tener -arios especialistas :de 1 a m#c7os;
Una cita solo p#ede tener #n cliente : de 1 a 1;
Una cita solo p#ede tener #n 7orario0 si se pasa de este pierde la cita : de 1 a 1;
Una cita p#ede tener diferentes costos : de 1 a m#c7os;
Una cita solo p#ede ser reali/ada en #n cons#ltorio especifico : de 1 a 1;
Una cita solo p#ede tener #na reser-ación por0 esta es mane+ada por el 7orario : de 1
a 1; Un re$istro de tar+eta p#ede tener -arias reser-aciones : de 1 a m#c7os;
Un re$istro de #s#ario p#ede tener #n solo re$istro de tar+eta : de 1 a 1;
I%.8TI(IC&MOS )OS &TRI97TOS
Clases Atrib#tosCita B#mero
,eser-ación Códi$o,e$istroUs#ario Bombre0 apellidos0 dirección0 ci#dad0 pas0
telfono0 cel#lar0 correo electrónico.=orario
-
8/20/2019 301403_32_Teorico
15/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
&stados Bombre del estadoCliente Bombre0 apellido0 ced#la
,e$istrotar+eta Bombre0 B%mero0 &?pedidor0 >encimientoClinica Bombre clnica0 dirección.
/e5os grá
-
8/20/2019 301403_32_Teorico
16/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
,1 &r;'itect'ra de Clases
En el sistema de información Reservación de citas de ortodoncia se va a
trabajar con un tipo de arquitectura de clases de 3 dimensiones denominado
“Arquitectura MVC – Modelo, Vista, Controlador
!a vista de la información corresponde a las interfaces que se le presentan al
usuario para el manejo de la información, donde por lo "eneral pueden e#istir
m$ltiples vistas sobre un mismo modelo %&picamente la información representa el
dominio del problema ' es almacenada en una base de datos (or otro lado el
control corresponde a la manipulación de la información a trav)s de sus diversas
presentaciones * aunque e#iste cierta dependencia entre estas tres dimensiones se
considera que la manera de presentar la información es independiente de la propia
información ' de cómo esta se controla +in embar"o, cada una de ellas
probablemente e#perimente cambios a lo lar"o de la vida del sistema, donde el
control es el ms propenso a ser modificado, se"uido de la vista ' finalmente el
modelo
7.2. Identificación de Clases Según Estereotipos
Página 16
-
8/20/2019 301403_32_Teorico
17/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
• Estereotipos de Entidad
• Estereotipos de -nterface
• Estereotipos de control.
Página 17
Tarifa
PaginaServicio
Paginaesultado
Interface!suario
Interface"ase#atoseserva
Interface!suario
Pagina$onsulta%orario
Paginaesultado&orarios
Pagina$onsultaTarifas
PaginaesultadoTarifas
Pagina$onsultaTarifas
Pagina$onsultaTarifas
'ane(adorde#e$onsultas
'ane(ador#eServicios
-
8/20/2019 301403_32_Teorico
18/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
!.3. Clases se"#n Casos de Uso
1? Clases del Caso de 'so /alidar 7s'ario:
InterfaceUs#ario PantallaPrincipal Mane+adorPrincipal
Interface@aseDatos,e$istro Mane+ador,e$istroUs#ario ,e$istroUs#ario
!? Clases del Caso de 'so Servicios:
Página 18
'ane(adorPrincipal
'ane(adorde#e$onsultaTarifas
'ane(adorde#e$onsultaEstado
'ane(adorde#e$onsulta&orari
'ane(adorde#eegistro!suario
'ane(adorde#eeservas
'ane(adorde#e)signacion$ita 'ane(adorde#ePagos
-
8/20/2019 301403_32_Teorico
19/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
InterfaceUs#ario Pantalla'er-icio Mane+ador'er-icio
*? Clases del Caso de 'so Registrar 8'evo 7s'ario:
InterfaceUs#ario PantallaCrear,e$Us#ario Pantalla*btener,e$Us#ario
Interface@aseDatos,e$istro Mane+ador,e$istroUs#ario ,e$istroUs#ario
4? Clases del Caso de 'so Realizar
-
8/20/2019 301403_32_Teorico
20/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
PantallaCons#ltaCita Pantalla,es#ltadoCita Mane+adorCons#ltasCita
=orario 'er-icio Cita Cons#ltorio &specialista
+? Clases del Caso de 'so Cons'ltar .specialistas:
PantallaCons#lta&specialista PantallaCons#lta&sp Mane+adorCons#lta&specialista
'er-icios &specialidad Cons#ltorio &specialista
,? Clases del Caso de 'so Registrar tar=eta:
InterfaceUs#ario PantallaCrear,e$ar+eta Pantalla*btener,e$ar+eta
Interface@aseDatos,e$istro Mane+ador,e$istroar+eta ,e$istroar+eta
$? Clases del Caso de 'so Pagar (act'ración:
Página 20
-
8/20/2019 301403_32_Teorico
21/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Mane+adorPa$os InterfaceUs#ario Interface@aseDatosCitas
,e$istroar+eta PantallaPa$ar,e$ar+eta Pantalla,eembolsar,e$ar+eta
@? Clases del Caso de 'so Pagar en .
-
8/20/2019 301403_32_Teorico
22/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
/alidar 7s'ario AIniciar SesiónB:
Cons'ltar Servicios:
Página 22
-
8/20/2019 301403_32_Teorico
23/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Realizar
-
8/20/2019 301403_32_Teorico
24/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Cons'ltar .specialistas:
Registrar tar=eta:
Página 24
-
8/20/2019 301403_32_Teorico
25/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Pagar (act'ración:
Pagar en .
-
8/20/2019 301403_32_Teorico
26/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
,# Casos de 7so para el Siste5a
*alidar usuario
Caso de #so >alidar #s#arioActores Us#ario0 @ase de datos de re$istroipo incl#siónPropósito >alidar #n #s#ario ya re$istrado para el #so del sistema de
reser-aciones de ortodoncia,es#men &ste caso de #so es iniciado por el #s#ario. >alida el #s#ario
mediante #n #s#ario y #n lo$in siendo -alidado por el re$istro de
#s#ario para as #sar el sistema de reser-aciones.,ecomendaciones 'i el #s#ario a%n no est re$istrado0 re"#erir e+ec#tar el caso de #so
,e$istrar #s#ario s#bfl#+o crear ,e$istro #s#ario
-
8/20/2019 301403_32_Teorico
27/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
datosE y 'alirE.
'i la acti-idad seleccionada es in$resar datosE0 la pantalla principal
en-a el e-ento In$resar datosE a la interface#s#ario. a
interface#s#ario en-a el e-ento en-iardatos#s#ario al
mane+adorDe'eccion. &l mane+adorDe'eccion en-a el e-ento
en-iardatos al interface@aseDeDatos'eccion. a
interface@aseDeDatos'eccion en-a el e-ento comparardatos a la
@ase de Datos.
Al confirmar los datos la @ase de Datos en-a el e-ento
Datos-alidados al mane+adorDe'eccion. &l mane+adorDe'eccioin
en-a el e-ento pantalla-alidacion*F al interface#s#ario.
'i la acti-idad seleccionada es 'alirE la pantalla principal en-a 'alir
a la interface#s#ario. &l interface#s#ario sale del sistema.'#bfl#+os Bin$#no&?cepciones Bin$#no
egistrar usuario
Caso de #so ,e$istrar #s#arioActores Us#ario y base de datos de re$istroipo @sicoPropósito Permitir a #n #s#ario re$istrarse con el sistema de reser-aciones de
ortodoncia para s# #so posterior,es#men &ste caso de #so es iniciado por el #s#ario. *frece f#ncionalidad de
crear0 modificar y eliminar el re$istro de #s#ario con el sistema de
reser-aciones.,ecomendaciones 'i el #s#ario no est re$istrado0 re"#iere in$resar s#s datos y
$enerar #n n#e-o re$istró.
-
8/20/2019 301403_32_Teorico
28/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
pantalla principal se desplie$a.
&l #s#ario p#ede seleccionar entre las si$#ientes opciones
iniciarre$istroE0 re$istrarE y 'alirE.
'i la acti-idad seleccionada es iniciarre$istroE0 la interface#s#rario
en-a el e-ento iniciarre$istro al mane+ador,e$istroUs#rio. &l
mane+ador,e$istroUs#ario de-#el-e el e-ento
m#estrapantallain$reso al interfaceUs#ario y se contin%a con la
acti-idad ,e$istrar.
'i la acti-idad seleccionada es re$istrarE la pantalla principal en-a el
e-ento a la interfaceUs#ario. a interfaceUs#ario en-a el e-ento
,e$istrar al mane+ador,e$istroUs#ario. &l mane+ador,e$istroUs#ario
en-a el e-ento in$reson#e-ore$istro al
interface@aseDeDatos,e$istro. a interface@aseDeDatos,e$istro
en-a el e-ento in$resan#e-o#s#ario a la @ase de datos.
Confirmada la acti-idad la @ase de datos en-a a la
interface@aseDeDatos,e$istro el e-ento ,e$istroreali/ado. a
interface@aseDeDatos,e$istro en-a el e-ento ,e$istroreali/ado al
mane+ador,e$istroUs#ario. &l mane+ador,e$istroUs#ario en-a el
e-ento Mostrarconfirmacion al interface#s#ario.
'i la acti-idad seleccionada es 'alirE la pantalla principal en-a 'alir
a la interface#s#ario. &l interface#s#ario sale del sistema.'#bfl#+os Bin$#na&?cepciones Bin$#na
$onsultar servicios
Caso de #so Cons#ltar ser-iciosActores Us#ario y base de datos de reser-acionesipo @sico
Página 28
-
8/20/2019 301403_32_Teorico
29/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Propósito Cons#ltar los di-ersos ser-icios a #n #s#ario ya re$istrado para el #so
del sistema de reser-aciones de ortodoncia,es#men &ste caso de #so es iniciado por el #s#ario. iene opciones para
cons#ltar los di-ersos ser-icios del sistema de reser-aciones
,ecomendaciones &l #s#ario debe de estar re$istrado para poder cons#ltar de "#e
ser-icios 7ay disponibles
-
8/20/2019 301403_32_Teorico
30/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
'#bfl#+os Bin$#no&?cepciones Bin$#no
eali+ar facturación
Caso de #so ,eali/ar fact#raciónActores Us#ario y base de datos reser-acionesipo @sicoProposito Permite al #s#ario "#e se $enere la fact#ración de la cita con el
sistema de reser-aciones,es#men &ste caso de #so es iniciado por el #s#ario. *frece la f#ncionalidad
"#e el #s#ario realice el pa$o total de la fact#ración con el sistema de
reser-aciones,ecomendaciones Inicialmente el #s#ario 7alla separado s# cita con el especialista0
7orario y de all se fact#rara
-
8/20/2019 301403_32_Teorico
31/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
e-ento reali/arfact#racion a la interface@aseDatos. a
interface@aseDatos en-a el e-ento reali/andofact#racion a la base
de datos. a base de datos en-a el e-ento fact#raciónreali/ada*F
a la interface@aseDatos. a interface@aseDatos en-a el e-ento
m#estrapantallares#ltadofact#racion a la interfaceUs#ario. a
interfaceUs#ario en-a el e-ento ,esp#estafact#racion a la pantalla
principal del #s#ario.
'i la acti-idad seleccionada es 'alirE la pantalla principal en-a 'alir
a la interface#s#ario. &l interface#s#ario sale del sistema.'#bfl#+os Bin$#na&?cepciones Bin$#na
$onsultar cita
Caso de #so Cons#ltar citaActores Us#ario0 base de datos reser-acionesipo @sicoProposito Permitir al #s#ario cons#ltar información con el sistema de
reser-aciones.,es#men &ste caso es iniciado por el #s#ario. *frece f#ncionalidad para
cons#ltar información sobre 7orarios0 -alor de la cita0 -alor
tratamiento y estado de la cita con el sistema de reser-aciones.,ecomendaciones &l #s#ario debe in$resar al sistema para cons#ltar s# cita
-
8/20/2019 301403_32_Teorico
32/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
a interface@aseDatos en-a el e-ento -alidandodatos a la base de
datos. a base de datos en-a el e-ento datos-alidados*F al
mane+oCons#ltaCita. &l mane+oCons#ltaCita en-a el e-ento
m#estrapantallacons#ltarcita a la pantalla principal de #s#ario.
'i la acti-idad seleccionada es cons#ltarcitaE. a pantalla principal
en-a el e-ento cons#ltarcita al mane+oCons#ltaCita. &l
mane+oCons#ltaCita en-a el e-ento cons#ltarcita a la
interface@aseDatos. a interface@aseDatos en-a el e-ento
cons#ltandocita a la base de datos. a base de datos en-a el e-ento
cons#ltareali/ada*F a la interface@aseDatos. a
interface@aseDatos en-a el e-ento m#estrapantalares#ltadocita a
lainterfaceUs#ario. a interfaceUs#ario en-a el e-ento resp#estacita
a la pantalla principal del #s#ario.
'i la acti-idad seleccionada es 'alirE la pantalla principal en-a 'alir
a la interface#s#ario. &l interface#s#ario sale del sistema.'#bfl#+os Bin$#na&?cepciones Bin$#na
$onsultar especialista
Caso de #so Cons#ltar especialistaActores Us#ario y base de datos reser-acionesipo @sicoProposito Permitir al #s#ario cons#ltar información con el sistema de
reser-aciones.,es#men &ste caso es iniciado por el #s#ario. *frece f#ncionalidad para
cons#ltar información si esta disponible el ortodoncista0 el cir#+ano0 el
ma?ilofacial0 el 7i$ienista o el a#?iliar con el sistema de reser-aciones,ecomendaciones &l #s#ario in$rese al sistema para separar cita con al$%n especialista
en com%n0 primero cons#lta si est disponible o no.
Página 32
-
8/20/2019 301403_32_Teorico
33/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
-
8/20/2019 301403_32_Teorico
34/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
&?cepciones Bin$#na
egistrar tar(eta
Caso de #so ,e$istrar tar+etaActores Us#ario0 base de datos re$istroipo &?tensión
Proposito Permitir a #n #s#ario re$istrar #na tar+eta de crdito con el sistema
de reser-aciones para el pa$o de fact#ración de la cita,es#men &ste caso es iniciado por el #s#ario. *frece la f#ncionalidad para
crear0 modificar y eliminar el re$istro de tar+eta de #s#ario para
pa$ar las reser-aciones directamente con el sistema de
reser-aciones.,ecomendaciones &l #s#ario para poder ad"#irir #na cita es indispensable "#e re$istre
#na tar+eta de crdito
-
8/20/2019 301403_32_Teorico
35/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
e-ento ,e$istro,eali/ado*F al mane+o,e$ar+eta. &l
mane+o,e$ar+eta en-a el e-ento m#estrapantalla,e$,eali/ado a
la interfaceUs#ario.
'i la acti-idad seleccionada es 'alirE la pantalla principal en-a 'alir
a la interface#s#ario. &l interface#s#ario sale del sistema.'#bfl#+os Bin$#na&?cepciones Bin$#na
Pagar facturación
Caso de #so Pa$ar fact#raciónActores Us#ario y base de datos reser-acionesipo @sico
Proposito Permitir a #n #s#ario pa$ar la fact#ración con el sistema de
reser-aciones,es#men &ste caso de #so se inicia con el #s#ario. *frece f#ncionalidad para
pa$ar la fact#ración total de la cita con el sistema de reser-aciones
mediante tar+etas de crdito o en efecti-o 1 min#tos antes de la
cita.,ecomendaciones &l #s#ario tiene "#e separar el especialista y en "#e 7orario para
fact#rar
-
8/20/2019 301403_32_Teorico
36/68
-
8/20/2019 301403_32_Teorico
37/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
reser-aciones.,es#men &ste caso de #so se inicia con el #s#ario. *frece la f#ncionalidad para
pa$ar la fact#ración total de la cita con el sistema de reser-aciones
en forma de efecti-o 1 min#tos antes de la cita
,ecomendaciones &l #s#ario reali/ara el pa$o en donde tiene la cita 1 min#tos antes
de la misma
-
8/20/2019 301403_32_Teorico
38/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
mediopa$oefecti-oseleccionado a la interfaceUs#ario. a
interfaceUs#ario en-a el e-ento pa$oefecti-oseleccionado al
mane+adorPa$os. &l mane+adorPa$os en-a el e-ento
solicitandofact#racion a la base de datos. a base de datos en-a el
e-ento recibopa$oreali/ado al mane+adorPa$os. &l
mane+adorPa$os en-a el e-ento recibopa$oefecti-oreali/ado a la
interfaceUs#ario.
'i la acti-idad seleccionada es 'alirE la pantalla principal en-a 'alir
a la interface#s#ario. &l interface#s#ario sale del sistema.'#bfl#+os Bin$#na&?cepciones Bin$#na
,+ %iccionarios de clases
C#atro mód#los o pa"#etes principales5 interfaceUs#ario0 Principal0 ,e$istro y 'er-icios
,+1 Inter
-
8/20/2019 301403_32_Teorico
39/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
,+! Principal
&l mod#lo Principal est comp#esto por clases com#nes a la f#ncionalidad $eneral del
sistema5
PantallaPrincipal G Clase @orde. Pantalla principal.
Mane+oUs#ario G Clase Control. &l mane+o Us#ario es el encar$ado de desple$ar la
pantalla principal de interacción con el #s#ario0 y l#e$o dele$ar las diferentes
f#nciones a los mane+adores especiali/ados apropiados.
,+* Registro
&l mod#lo ,e$istro se di-ide en los si$#ientes mód#los5 Us#ario0 ar+eta e Interface@D0
donde @D corresponde a la base de datos.
7S7&RIO
&l mod#lo Us#ario est comp#esto por las clases5
PantallaCrear,e$Us#ario G Clase @orde. Pantalla de solicita el re$istro de #s#ario.
Pantalla*btener,e$Us#ario G Clase @orde. Pantalla de de-ol#ción con información de
re$istro de #s#ario.
,e$istroUs#ario G Clase &ntidad. Para #tili/ar el sistema de reser-aciones0 el #s#ario
debe estar re$istrado con el sistema. &l re$istro contiene información acerca del#s#ario "#e incl#ye nombre0 apellido0 dirección0 ci#dad0 pas0 telfono0 correo.
Mane+ador,e$istroUs#ario G Clase Control. &l mane+ador de re$istro de #s#ario se
encar$a de todo lo relacionado con el re$istro del #s#ario para poder #tili/ar el
sistema.
Página 39
-
8/20/2019 301403_32_Teorico
40/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
T&R.T&
&l mod#lo ar+eta est comp#esto por las clases5
PantallaCrear,e$ar+eta G Clase @orde. Pantalla de solicit#d de re$istro de tar+eta.
Pantalla*btener,e$ar+eta G Clase @orde. Pantalla de de-ol#ción con información de
re$istro de tar+eta.
,e$istroar+eta G Clase &ntidad. Para poder 7acer #n pa$o con #na tar+eta de crdito0
se debe tener #n re$istro de tar+eta. &l re$istro contiene información acerca de la
tar+eta incl#yendo nombre0 n#mero0 e?pendedor y -encimiento. a tar+eta est li$ada
a #n re$istro de #s#ario.
Mane+ador,e$istroar+eta G Clase Control. &l mane+ador de re$istro de tar+eta se
encar$a de todo lo relacionado con re$istro de la tar+eta del #s#ario para poder pa$ar
las reser-aciones.
I8T.R(&C.9%
&l mód#lo Interface@D0 correspondiente a la interface para la base de datos0 est comp#esto
por la clase encar$ada de interact#ar con la base de datos5
Interface@aseDatos,e$istro G Clase @orde. a información de cada #s#ario se
almacena en la base de datos de re$istro0 la c#al se acceso mediante la interface de
la base de datos de re$istro. &sto permite -alidar a los distintos #s#arios0 adems de
$#ardar información sobre la tar+eta de crdito para pa$os en lnea.
,+4 Servicios
&l mod#lo 'er-icio se di-ide en los si$#ientes mod#les5 Dominio0 Interface@D0 Cons#ltas0 y
Pa$os.
Página 40
-
8/20/2019 301403_32_Teorico
41/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
&l mod#lo 'er-icio tambin incl#ye las si$#ientes clases5
Pantalla'er-icio G Clase @orde. Pantalla de ser-icios.
Mane+ador'er-icio G Clase Control. &l mane+ador de ser-icios se encar$a de en-iar las
peticiones partic#lares de ser-icios a los mane+adores especiali/ados para cons#lta yreser-ación.
%OMI8IO
&l mod#lo Dominio est comp#esto por las clases5
,eser-ación G Clase &ntidad. Para reali/ar #na reser-ación pre-ia0 la c#al debe
pa$arse antes de #na fec7a lmite0 "#e p#ede ser el propio da de la cita o 1 min#tos
antes de la misma.
=orario G Clase &ntidad. &l 7orario de #na cita de ac#erdo al especialista y el da.
Costo G Clase &ntidad. os ser-icios prestados por los especialistas.
Cons#ltorio G Clase &ntidad. De ac#erdo al seleccionado por la reser-ación de la cita.
Clnica G Clase &ntidad. De ac#erdo a la asi$nada por la reser-ación de la cita.
&stado G Clase &ntidad. 'i est -i$ente la citación de la reser-ación de la cita.
&specialista G Clase &ntidad. De ac#erdo el re"#erimiento del #s#ario ya sea
*rtodoncista0 Cir#+ano Ma?ilofacial0 =i$ienista0 A#?iliar.
I8T.R(&C.9%
&l mód#lo Interface@D0 parte del mód#lo de ser-icios0 incl#ye #na clase para el acceso a la
base de datos5
Interface@aseDatos G Clase @orde. a información del sistema de reser-aciones de
citas se almacena en la base de datos de reser-ación0 la c#al se acceso mediante la
Página 41
-
8/20/2019 301403_32_Teorico
42/68
-
8/20/2019 301403_32_Teorico
43/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
&r;'itect'ra
•
&n n#estro proyecto desi$nado sistema de $estión de citas de ortodoncia0 7emos esco$ido laar"#itect#ra de clases de 3 dimensiones denominado Ar"#itect#ra M>C H Modelo0 >ista0Controlador.
&ste modelo presenta -arias -enta+as.
Bos permite implementar cada componente de forma separada0 $racias a la clara
separación "#e e?iste entre dic7os componentes. C#enta con #n API :Interfa/ de pro$ramación de aplicaciones; bien definido0
c#al"#iera "#e lo #tilice podr reempla/ar el modelo0 la -ista o el controlador sinnin$#na dific#ltad.
a cone?ión entre el modelo y s#s -istas es bastante dinmica0 adems se prod#ce
en tiempo de e+ec#ción y no en el tiempo de compilación.
&ste modelo nos permite constr#ir las pie/as de #n pro$rama por separado y l#e$o permite
"#e estas sean #nidad al momento de la e+ec#ción0 de i$#al manera si #no de loscomponentes est f#ncionando erróneamente podemos reempla/arlo sin "#e las demspie/as se -ean afectadas.
A7ora detallaremos las partes de n#estro modelo.
Modelo) es el ob+eto "#e representa los datos del pro$rama0 lo$ra mane+ar todos los
datos y controla todas s#s transformaciones0 adems no c#enta con #n conocimientoespecfico de los controladores o de las -istas0 es ms ni si"#iera c#enta conreferencias especificas acerca de estos0 es el propio sistema el encar$ado "#emantener enlaces acti-os entre el modelo y s#s -istas0 y notificar a las -istas c#andose $enera al$%n cambio en el modelo.
*ista) representa el ob+eto "#e mane+a toda la parte -is#al de los datos "#e son
representados por el modelo0 la -ista $enera #na representación -is#al de ste yl#e$o m#estra los datos al #s#ario0 interact%a con el modelo a tra-s de #nareferencia propia del mismo modelo.
Controlador) 7ace referencia al ob+eto "#e proporciona el si$nificado a cada #na de
las órdenes del #s#ario0 act%a sobre los datos representados por el modelo0 c#andose $eneran cambios el controlador entra en acción0 ya sea por cambios $enerados enel modelo o por alteración de la -ista del sistema0 y de i$#al manera este tambininteract%a con el modelo a tra-s de #na referencia del mismo modelo.
Rob'stez
racias a la implementación de ste el sistema debe estar prote$ido contra errores y ofrecerdia$nóstico "#e permita identificar fallas.
Implementando la ar"#itect#ra M>C con #n len$#a+e de pro$ramación orientada a ob+etos selo$rara representar cada capa como #na clase0 $enerando mayor se$#ridad y rob#ste/ an#estro pro$rama.
Página 43
-
8/20/2019 301403_32_Teorico
44/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
&-ita la incl#sión de distintos códi$os en #n solo sitio0 lo$ra separarlos se$%n s#
ló$ica para facilitar y a$ili/ar s# mantenimiento0 a esto se le denomina aislamiento0$racias a esto los cambios "#e se $eneran no reperc#ten en el sistema o de 7acerlosno son tan a$resi-os.
Incrementa la re#tili/ación de códi$o :C#anto ms se p#eda re#tili/ar el códi$o serme+or la rob#ste/ del 'istema;.
Prom#e-e el desarrollo en e"#ipo centrado en capa/0 la interacción de las tres
principales capa/0 las c#ales son el modelo0 la -ista y el controlador. Incrementa la se$#ridad de la aplicación0 -alidando todos los datos en cada #na de
las capas. Permite "#e el sistema sea est#diado0 -isto y entendido como la #nión de -arias
partes "#e interact%an entre s para alcan/ar los ob+eti-os prop#estos0 lo$rando deesta manera "#e el pro$rama sea bastante rob#sto0 p#es se sabe "#e c#anto mayorsea la mod#laridad de #n sistema mayor es s# rob#ste/.
Re'só
a re#tili/ación de códi$o es de $ran importancia a la 7ora de $enerar #na mayor rob#ste/ an#estro pro$rama0 p#es C#anto ms se p#eda re#tili/ar el códi$o ser me+or la rob#ste/ del'istema.
Como se sabe #tili/ando len$#a+es de pro$ramación orientada a ob+etos lo$ramos
"#e n#estro sistema lo$re incrementar la re#tili/ación del códi$o. &l modelo no -era nin$#na de las otras clases0 p#es se p#ede cambiar de -ista y de
controlador sin tocar el modelo. &l controlador debe -er las clases del modelo0 pero no la de -ista0 p#es el cambio de
-ista no afecta en nada al controlador a -ista no debe -er las clases del modelo0 el cambio del modelo no afecta a la -ista.
Al definir las clases de esta manera nos permite "#e el sistema ten$a #n menor
acoplamiento0 lo$ra "#e las -istas de los modelos se desacoplen si$nificati-amente y$enera #na mayor co7esión.
.>tensibilidad
&l sistema debe presentar caractersticas "#e permitan en #n f#t#ro a$re$arle n#e-as
f#ncionalidades. &l modelo M>C esta implementado mod#larmente0 lo "#e nos permite #na
e?tensibilidad m#c7o ms amplia y se$#ra.
&.2. Dise(o de +b,etos
Para lle-ar acabo los ob+eti-os del modelo de dise)o0 se debe considerar el Dise)o de
ob+etos0 y para esto se debe5
Página 44
-
8/20/2019 301403_32_Teorico
45/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
,efinar y formali/ar el modelo para $enerar especificaciones detalladas de todos los
ob+etos0 incl#yendo s#s operaciones y atrib#tos.
Describir cómo interact%an los ob+etos en cada caso de #so especfico0 especificando"#e debe 7acer cada operación en cada ob+eto.
Para dise)ar #n ob+eto se se$#ir el dise)o por responsabilidades :RDD –
Responsability – Driven Design;5
• Dise)o basado en #n modelo cliente H ser-idor5
Cliente5 enera al$#na petición 7acia otra clase.
Servidor5 C#ando recibe peticiones de otras clases.
as clases definen responsabilidades0 ser-icios y colaboraciones.
Responsabilidades
&specificación del comportamiento de cada #na de las clases :*peraciones y
Mtodos;.
'e identifican a tra-s del Modelo de Casos de Uso.
Colaboraciones:
'olicit#des de #n ob+eto cliente a #n ob+eto servidor .
erar;'-as
Mediante las +erar"#as se lo$ra a$r#par #na ar"#itect#ra de clases ms
compacta :#so de la 7erencia;0 p#diendo red#cir el n%mero de clases Mecanismos #tili/ados5
Polimorfismo
Clases Abstractas :A$r#pación de responsabilidades com#nes;.
Tar=etas de clases o CRC ACase - esponsibility / ColaborationB5
Permiten -is#ali/ar la información de cada clase.
Página 45
-
8/20/2019 301403_32_Teorico
46/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
&n el dise)o de ob+etos de n#estro sistema tendremos5
(l'=o Principal:
&l Mane=ador Principal solicita desplegarPantallaPrincipal a la intere/E0
*8E y 'alirE.
'i la acti-idad seleccionada es ,e$istrarse por primera -e/E0 la Pantalla Principal
en-a el e-ento ,e$istrarse por Primera >e/E a la Intere/E al Mane=ador
Principal &l Mane=ador Principal solicita Crear Registro 7s'ario al Mane=ador
Registro 7s'ario 'e e+ec#ta el caso de #so ,e$istrar Us#ario0 s#bfl#+o Crear
,e$istro Us#ario :'G1;.
'i la acti-idad seleccionada es *8E0 se -alida el re$istro de #s#ario mediante #n lo$in
y passord insertados por el 7s'ario en la Pantalla Principal a Pantalla
Principal en-a el e-ento *8E al Inter
-
8/20/2019 301403_32_Teorico
47/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
'i la acti-idad seleccionada es 'alirE0 la Pantalla Principal en-a el e-ento 'alirE a
la Inter
-
8/20/2019 301403_32_Teorico
48/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
,a clase interface!suario
Tar(eta para la clase Interface!suario con responsabilidades- colaboraciones- (erarquas-
contratos- protocolos- atributos y algoritmos identificados de las casos de uso validar
usuario- ofrecer servicio- egistrar usuario y egistrar tar(eta
Clase: Interface!suario
Descripción: toda la interacción con el usuario se %ace por medio de la interface de
usuario
Modulo: Interface!suario
Estereotipo: "orde
Propiedades: $oncreta
uperclases:
ubclases:
Atributos: 'ane(ador mane(ador- Pantalla pantalla
Contratos
/. #esplegar pantalla
#esplegar pantalla0pantalla1devuelve
void
'2todo encargado de desplegar las
pantallas enviadas como par3metros. Se
delega el despliegue particular a cada pantalla.
Pantalla 0/14 Pantalla principal 0/1-
PantallaServicio0/1-
Pantalla$reareg!suario0/1-
Pantalla5btenereg!suario0/1-
Pantalla$rearegTar(eta0/1-Pantalla5bteneregTar(eta0/1.
!" Enviar evento
Enviar evento0evento1devuelve void'2todo encargado de recibir eventos del
sistema de ventanas a trav2s de las
'ane(ador0/14 SubsistemaPrincipal0/1-SubsistemaServicio0/1-
Subsistemaegistro0/1
Página 48
-
8/20/2019 301403_32_Teorico
49/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
diversas pantallas. Se enva el eventorecibido a los distintos mane(adores.
A7ora -eamos el interface $rfico0 con s#s sistemas internos y s#s bases de datos.
Página 49
Tar(eta para la superclase clase Pantalla modificada seg6n el dise7o gr3fico. Se eliminó la
responsabilidad privada EnviarEvento.
Clase: Pantalla
Descripción: pantalla %eredada por las dem3s clases de tipo pantalla.
Modulo: Interface!suario
Estereotipo: "ordePropiedades: )bstracta
uperclases:
ubclases: PantallaPrincipal- PantallaServicio- Pantallaeg!suario- PantallaegTar(eta
Atributos: Interface!suario- 'ane(ador
Contratos
/. #esplegar pantalla
#esplegar pantalla01devuelve void
'2todo encargado de desplegar la pantalla actual.
-
8/20/2019 301403_32_Teorico
50/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
&.3.3 ase de datos
,eali/amos la normali/ación de las bases de datos #tili/adas en n#estro proceso.
,e$istro Us#arioUs#ario Contrase)
aBombre Apellido
1Apellido2
Dirección
Ci#dad Pas elfono Cel#lar Correo &lectrónico
'moralesor
123KK 'ebastin
Morales *rti/ Calle 2112G62
Andal#c a
Colombia
22636L
3214!(L6
Us#ario1N$mail.com
-
8/20/2019 301403_32_Teorico
51/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
,e$istro ar+etaUs#ario Bombre Apellido1 Apellido2 B#meroar+eta ipo A 1O12O21
-
8/20/2019 301403_32_Teorico
52/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
#"$"%" Arc&ivos
Se creara una nueva superclase Interfaceegistro- de la cual %eredara la clase
Interface"ase#atosegistro y la nueva clase Interface)rc%ivoegistro. ,a superclase se definir3
como abstracta y deber3 tener contratos y responsabilidades p6blicas similares a las ya definidas
en la clase Interface"ase#atosegistro.
Tar(eta para la clase 'ane(adoregistro!suario con responsabilidades- colaboraciones- (erarquas- contratos- protocolos- atributos y algoritmos identificados de las casos de uso
validar usuario- ofrecer servicio- egistrar usuario y egistrar tar(eta
Clase: 4 'ane(adoregistro!suario
Descripcion: el mane(ador de registro de usuario se encarga de lo relacionado con el
registro del usuario para utili+ar el sistema
Modulo: egistro- usuarioEstereotipo: control
Propiedades: concreta
uperclases: 'ane(ador
ubclases:
Atributos: Pantalla$reareg!suario- Pantalla5btenereg!suario- egistro!suario-
'ane(adoregistroTar(eta- Interface"ase#atosegistro
Contratos
/. Manejar Evento
mane(arEvento0Evento1 devuelve void
'2todo sobrescrito de la clase 'ane(ador- encargado derecibir eventos del sistema de ventanas a trav2s de laInterface!suario
!" 'egistrar (suario
crearegistro!suario01 devuelve void
'2todo encargado de desplegar una pantalla de creación deregistro de usuario a trav2s del contrato de 9egistrar
!suario9
validaregistro!suario0String log-String pass1 devuelve
boolean
'2todo encargado de solicitar a la
Interface"ase#atosegistro la validación de un usuario a
trav2s del contrato de 9egistrar !suario9
Interface"ase#atosegistr
o 0/1
obteneregistro!suario devuelve void
Página 52
-
8/20/2019 301403_32_Teorico
53/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
'2todo encargado de obtener un egistro!suario yavalidado a trav2s del contrato de 9egistrar !suario9
'esponsabilidades Privadas
administraregistro!suario01 devuelve void
'2todo encargado de desplegar una pantalla de obtenciónde registro de usuario a trav2s del contrato de 9egistrar
!suario9
mane(arEventoegistrar01 devuelve void
'2todo encargado de solicitar a laInterface"ase#atosegistro la creación de un nuevo
egistro!suario a trav2s del contrato de 9egistrar
!suario9
Interfacece"ase#atosegis
tro 0/1
mane(arEvento)ctuali+ar: devuelve void
'2todo encargado de solicitar a laInterface"ase#atosegistro la actuali+ación de un
egistro!suario a trav2s del contrato de 9egistrar
!suario9
Interfacece"ase#atosegis
tro 0/1
mane(arEventoEliminar01 devuelve void
'2todo encargado de solicitar a la
Interface"ase#atosegistro la eliminación de un
egistro!suario a trav2s del contrato de 9egistrar
!suario9
Interfacece"ase#atosegis
tro 0/1
mane(arEventoegistrarTar(eta devuelve void
'2todo encargado de solicitar al 'ane(adoregistroTar(eta
que procese el contrato 9egistrar Tar(eta9
Interfacece"ase#atosegis
tro 0/1
Tar(eta para la clase Interface)rc%ivoegistro con responsabilidades- colaboraciones- (erarquas- contratos- protocolos- atributos y algoritmos identificados de las casos de uso
validar usuario- ofrecer servicio- egistrar usuario y egistrar tar(eta
Clase: Interface)rc%ivoegistro
Descripcion: la información de cada usuario se almacena en los arc%ivos de registro quese accesa mediante la interface de arc%ivo de registro. Esto permite validar a los usuarios
adem3s de guardar información acerca de la tar(eta de cr2dito para pagos en lnea.Modulo: egistro- Interface#"
Estereotipo: "orde
Propiedades: $oncreta
uperclases:
ubclases:
Página 53
-
8/20/2019 301403_32_Teorico
54/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Atributos:
Contratos
/. 'egistrar (suario
validaregistro0egistro!suano- String log- String pass1 devuelve
boolean
'2todo encargado de solicitar a la "ase#atosegistro la validación
de un usuario
)rc%ivoegistro
crearegistro0egistro!suario1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la creación de
un nuevo egistroilsuario
)rc%ivoegistro
obteneregistro0egistro!suario- String log1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la obtención
de un egistroilsuario
)rc%ivoegistro
actuali+aregistro0egistro!suario1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la
actuali+ación de un egistroilsuario
)rc%ivoegistro
eliminaregistro0egistro!suario1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la eliminación
de un egistroilsuario
)rc%ivoegistro
!" 'egistrar )arjeta
crearegistro0egistroTar(eta1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la creación deun nuevo egistroTar(eta
)rc%ivoegistro
obteneregistro0egistroTar(eta- String log1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la obtención
de un egistroTar(eta
)rc%ivoegistro
actuali+aregistro0egistroTar(eta1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro laactuali+ación de un egistroTar(eta
)rc%ivoegistro
eliminaregistro0egistroTar(eta1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la eliminación
de un egistroTar(eta
)rc%ivoegistro
Página 54
-
8/20/2019 301403_32_Teorico
55/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Tar(eta para la clase Interface)rc%ivoegistro con responsabilidades- colaboraciones- (erarquas- contratos- protocolos- atributos y algoritmos identificados de las casos de uso
validar usuario- ofrecer servicio- egistrar usuario y egistrar tar(eta
Clase: )rc%ivoegistro
Descripcion: la formación de cada registro de usuario se almacena en un arc%ive que es
ledo por el sistema. Esto permite a la clase Interface)rc%ivoegistro administrar todoslos registros correspondientes.
Modulo: egistro- Interface#"
Estereotipo: "orde
Propiedades: $oncreta
uperclases:
ubclases:
Atributos:
Contratos
/. 'egistrar (suario
validaregistro0egistro!suano- String log- String pass1 devuelve
boolean
'2todo encargado de solicitar a la "ase#atosegistro la validación
de un usuario
"ase#atosegistr
o
crearegistro0egistro!suario1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la creación
de un nuevo egistroilsuario
"ase#atosegistr
o
obteneregistro0egistro!suario- String log1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la obtención
de un egistroilsuario
"ase#atosegistr
o
actuali+aregistro0egistro!suario1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la
actuali+ación de un egistroilsuario
"ase#atosegistr
o
eliminaregistro0egistro!suario1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro laeliminación de un egistroilsuario
"ase#atosegistr
o
!" 'egistrar )arjeta
crearegistro0egistroTar(eta1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la creaciónde un nuevo egistroTar(eta
"ase#atosegistr
o
obteneregistro0egistroTar(eta- String log1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la obtención
"ase#atosegistr o
Página 55
-
8/20/2019 301403_32_Teorico
56/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
de un egistroTar(eta
actuali+aregistro0egistroTar(eta1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro laactuali+ación de un egistroTar(eta
"ase#atosegistr
o
eliminaregistro0egistroTar(eta1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la
eliminación de un egistroTar(eta
"ase#atosegistr o
$4 Revisión del %ise0o
!na de estas optimi+aciones es a nivel de acceso a la base de datos de registro. Se observa que el
'ane(adoregistro!suario tiene a la Interface"ase#atosegistro como colaborador durante la
validación de un usuario- al igual que durante la obtención de un registro.
Tar(eta para la clase 'ane(adoregistro!suario con responsabilidades- colaboraciones- (erarquas- contratos- protocolos- atributos y algoritmos identificados de las casos de usovalidar usuario- ofrecer servicio- egistrar usuario y egistrar tar(eta
Clase: 4 'ane(adoregistro!suario
Descripción: el mane(ador de registro de usuario se encarga de lo relacionado con el
registro del usuario para utili+ar el sistema
Modulo: egistro- usuario
Estereotipo: control
Propiedades: concreta
uperclases: 'ane(ador
ubclases:
Atributos: Pantalla$reareg!suario- Pantalla5btenereg!suario- egistro!suario-
'ane(adoregistroTar(eta- Interface"ase#atosegistro
Contratos
;. Manejar Evento
mane(arEvento0Evento1 devuelve void
'2todo sobrescrito de la clase 'ane(ador- encargado de
recibir eventos del sistema de ventanas a trav2s de la
Interface!suario
%" 'egistrar (suario
crearegistro!suario01 devuelve void
'2todo encargado de desplegar una pantalla de creación de
registro de usuario a trav2s del contrato de 9egistrar!suario9
validaregistro!suario0String log-String pass1 devuelve Interface"ase#atosegistr
Página 56
-
8/20/2019 301403_32_Teorico
57/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
boolean
'2todo encargado de solicitar a la
Interface"ase#atosegistro la validación de un usuario a
trav2s del contrato de 9egistrar !suario9
o 0/1
obteneregistro!suario devuelve void
'2todo encargado de obtener un egistro!suario ya
validado a trav2s del contrato de 9egistrar !suario9
'esponsabilidades Privadas
administraregistro!suario01 devuelve void
'2todo encargado de desplegar una pantalla de obtención
de registro de usuario a trav2s del contrato de 9egistrar
!suario9
mane(arEventoegistrar01 devuelve void
'2todo encargado de solicitar a la
Interface"ase#atosegistro la creación de un nuevo
egistro!suario a trav2s del contrato de 9egistrar!suario9
Interfacece"ase#atosegis
tro 0/1
mane(arEvento)ctuali+ar: devuelve void
'2todo encargado de solicitar a la
Interface"ase#atosegistro la actuali+ación de un
egistro!suario a trav2s del contrato de 9egistrar!suario9
Interfacece"ase#atosegistro 0/1
mane(arEventoEliminar01 devuelve void
'2todo encargado de solicitar a la
Interface"ase#atosegistro la eliminación de unegistro!suario a trav2s del contrato de 9egistrar
!suario9
Interfacece"ase#atosegistro 0/1
mane(arEventoegistrarTar(eta devuelve void
'2todo encargado de solicitar al 'ane(adoregistroTar(eta
que procese el contrato 9egistrar Tar(eta9
Interfacece"ase#atosegistro 0/1
Se aprovec%ara para %acer una revisión en el mane(o de las clases entidad en relación con lasclases borde- en particular en relación con las interfaces de bases de datos y arc%ive
Tar(eta para la clase Interfaceegistro con responsabilidades- colaboraciones- (erarquas-contratos- protocolos- atributos y algoritmos identificados de las casos de uso validar usuario-
ofrecer servicio- egistrar usuario y egistrar tar(eta
Página 57
-
8/20/2019 301403_32_Teorico
58/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Clase: Interfaceegistro
Descripción: superclase para las interfaces a base de datos de registro y arc%ives
Modulo: egistro- Interface#"
Estereotipo: "orde
Propiedades: )bstracta
uperclases:ubclases:
Atributos:
Contratos
;. 'egistrar (suario" !" 'egistrar )arjeta
validaregistro0#atos- String log- String pass1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la validación de un
usuario
"ase#atosegistr o
crearegistro0#atos1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la creación de unnuevo egistro!suario o egistroTar(eta
"ase#atosegistr
o
obteneregistro0#atos- String log1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la obtención de un
egistro!suario o egistroTar(eta
"ase#atosegistr o
actuali+aregistro0#atos1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la actuali+ación de
un egistro!suario o egistroTar(eta
"ase#atosegistr
o
eliminaregistro0#atos1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la eliminación de
un egistro!suario o egistroTar(eta
"ase#atosegistr
o
De manera similar se toma la tar+eta para la clase InterfaceArc7i-o,e$istro.
Tar(eta para la clase Interface)rc%ivoegistro con responsabilidades- colaboraciones- (erarquas- contratos- protocolos- atributos y algoritmos identificados de las casos de uso
validar usuario- ofrecer servicio- egistrar usuario y egistrar tar(eta
Clase: Interface)rc%ivoegistro
Descripción: la información de cada usuario se almacena en los arc%ivos de registro que se
acceso mediante la interface de arc%ivo de registro. Esto permite validar a los usuariosadem3s de guardar información acerca de la tar(eta de cr2dito para pagos en ,nea.
Modulo: egistro- Interface#"
Estereotipo: "orde
Propiedades: $oncreta
uperclases:
Página 58
-
8/20/2019 301403_32_Teorico
59/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
ubclases:
Atributos:
Contratos
;. 'egistrar (suario * !" 'egistro )arjeta
validaregistro0#atos- String log- String pass1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la validaciónde un usuario o egistroTar(eta
)rc%ivoegistro
crearegistro0#atos1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la creación de
un nuevo egistro!suario o egistroTar(eta
)rc%ivoegistro
obteneregistro0#atos- String log1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la obtenciónde un egistro!suario o egistroTar(eta
)rc%ivoegistro
actuali+aregistro0#atos1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la
actuali+ación de un egistroilsuario o egistroTar(eta
)rc%ivoegistro
eliminaregistro0#atos1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la eliminaciónde un egistroilsuario o egistroTar(eta
)rc%ivoegistro
De i$#al se toma la tar+eta para la clase Arc7i-o,e$istro
Tar(eta para la clase )rc%ivoegistro con responsabilidades- colaboraciones- (erarquas-
contratos- protocolos- atributos y algoritmos identificados de las casos de uso validar usuario-
ofrecer servicio- egistrar usuario y egistrar tar(eta
Clase: )rc%ivoegistro
Descripcion: la formación de cada registro de usuario se almacena en un arc%ive que es leido
por el sistema. Esto permite a la clase Interface)rc%ivoegistro administrar todos los registros
correspondientes.
Modulo: egistro- Interface#"
Estereotipo: "orde
Propiedades: $oncreta
uperclases:
ubclases:Atributos:
Contratos
. 'egistrar (suario* !" 'egistrar )arjeta
validaregistro0#atos- String log- String pass1 devuelve boolean "ase#atosegistro
Página 59
-
8/20/2019 301403_32_Teorico
60/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
'2todo encargado de solicitar a la "ase#atosegistro la validaciónde un usuario o egistroTar(eta
crearegistro0#atos1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la creación de
un nuevo egistroilsuario o egistroTar(eta
"ase#atosegistro
obteneregistro0#atos- String log1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la obtenciónde un egistroilsuario o egistroTar(eta
"ase#atosegistro
actuali+aregistro0#atos1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la
actuali+ación de un egistroilsuario o egistroTar(eta
"ase#atosegistro
eliminaregistro0#atos1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la eliminaciónde un egistroilsuario o egistroTar(eta
"ase#atosegistro
Tar(eta para la clase Interface"ase#atosegistro con responsabilidades- colaboraciones-
(erarquas- contratos- protocolos- atributos y algoritmos identificados de las casos de uso
validar usuario- ofrecer servicio- egistrar usuario y egistrar tar(eta
Clase: Interface"ase#atosegistro
Descripcion: la información de cada usuario se almacena en la base de datos de registro que seaccesa mediante la interface de la base de datos de registro. Esto permite validar a los usuarios-
adem3s de guardar información acerca de la tar(eta de cr2dito para pagos en lnea.
Modulo: egistro- Interface#"Estereotipo: "orde
Propiedades: $oncreta
uperclases:
ubclases:
Atributos:
Contratos
=. 'egistrar (suario* !" 'egistro )arjeta
validaregistro0#atos- String log- String pass1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la validación
de un usuario o egistroTar(eta
"ase#atosegistro
crearegistro0#atos1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la creación de
un nuevo egistroilsuario o egistroTar(eta
"ase#atosegistro
obteneregistro0#atos- String log1 devuelve boolean "ase#atosegistro
Página 60
-
8/20/2019 301403_32_Teorico
61/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
'2todo encargado de solicitar a la "ase#atosegistro la obtención
de un egistroilsuario o egistroTar(eta
actuali+aregistro0#atos1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro laactuali+ación de un egistroilsuario o egistroTar(eta
"ase#atosegistro
eliminaregistro0#atos1 devuelve boolean
'2todo encargado de solicitar a la "ase#atosegistro la eliminación
de un egistroilsuario o egistroTar(eta
"ase#atosegistro
$# %iagra5a de Sec'encia del %ise0o
Página 61
-
8/20/2019 301403_32_Teorico
62/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Página 62
-
8/20/2019 301403_32_Teorico
63/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Página 63
-
8/20/2019 301403_32_Teorico
64/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Página 64
-
8/20/2019 301403_32_Teorico
65/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Página 65
-
8/20/2019 301403_32_Teorico
66/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Concl'siones
• &l proyecto permite "#e los conocimientos aprendidos por medio de los capt#los 6 y
! del libro de desarrollo de softare orientado a ob+etos sean ms prcticos0 ms
-isibles0 y se p#edan desarrollar con el pe"#e)o $r#po de traba+o colaborati-o.
• De ac#erdo al capt#lo ( "#e 7emos -isto para este traba+o colaborati-o nos lle-a a
"#e realicemos el dise)o del modelo del proyecto de in-esti$ación de pro$ramación
orientada a ob+etos0 lle-ndolo p#nto a p#nto para c#lminarlo con los dia$ramas de
sec#encia del dise)o.
Página 66
-
8/20/2019 301403_32_Teorico
67/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Reco5endaciones
,eali/ar p#nto a p#nto cada #no de los pasos a se$#ir de la reali/ación del proyecto dein-esti$ación de pro$ramación orientada a ob+etos nos lle-a a "#e c#mplamos a cabalidadcon el fin de sacar adelante #n proyecto.
Página 67
-
8/20/2019 301403_32_Teorico
68/68
Proyecto de Investigación Curso Académico de Programación Orientada a Objetos
Re