301403_32_Teorico

download 301403_32_Teorico

of 26

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