Instituto tecnológico superior de          villa la venta               CARRERA:INGENIERÍA EN SISTEMAS COMPUTACIONALES    ...
EL UML Y LAPROGRAMACIÓN
¿CÓMO UTILIZA UN PROGRAMADOR EL UML, COMO PARTE DELDURO TRABAJO COTIDIANO DE LA PROGRAMACIÓN?Imaginemos un sistema de comp...
El primer paso en le proceso es escoger un modelo conceptualdescriba los conceptos de este dominio. No se refiere a trabaj...
De tal forma que una medida de 1.8 metros para Martinfowler se representaría como una instancia de mediación.Asociada con ...
Tipo de fenómeno                                                      Fenómeno                                            ...
La observación de que el tipo de sangre de Martinfowler es O se representaría como una Categoríade Observación cuyo fenóme...
Grupo sanguíneo                                                                       A: Fenómeno                         ...
El diagrama nos muestra que podemos hacer que unaObservación sirva al definir que una medición de “90 latidospor minuto” t...
Un intervaloSuperior=80 Imp.Inferior=60 Imp.                                                               Un intervalo   ...
El siguiente diagrama figura 11.4 refleja las modificaciones que hiceal modelo de dominio para tomar en cuenta algunos de ...
Tipo de Fenómeno       1     *   Medición.  0.1   *Fenómeno.                       0.1   *                                ...
La figura 11.5 muestra las muestra las operaciones que he añadido aPaciente para representarlas.Es necesario crear una nue...
Tipo de fenómeno        1                     *                                                       Medición  0.1     * ...
GENERACIÓN DE CÓDIGOSIniciaremos con el tipo de fenómeno y el fenómeno, yaque ambos están estrechamente vinculados.Lo prim...
Ritmo cardiaca        Ritmo cardiaco                         Ritmo cardiaco :Una Medición                                 ...
Algunas personas tienen problemas con los vínculos de doblesentido,Veamos algunas declaraciones.
Aplicar la convención de añadir un guion bajo antes de todos loscampos.
La    operación   persist()  almacena   el   tipo   de    fenómeno(phenomenonType) en un objeto de registro, de modo que s...
private Phenomenon _phenomenon;           privete Date _whenObserved;}{        public class patient extends DomainObject {...
con el programa anterior podemos crear las observaciones.new patient ("Adams").persiste();     new Observation (phenomenon...
Después creamos las observaciones, necesitamos encontrar el fenómenoMas reciente class patient             public phenomen...
observation each = (observation) e.nextElement();            if (each. phenomenonType () == value)               result.ad...
{    observation each =(observation) observationEnum.nextElement ();           if (each.whenObserved ().                 a...
Observa este diagrama podemos ver que la única diferenciaentre Medición (Measurement) y Observacion (Observation) esque la...
Tipo de fenómeno        1                        Medición                                                Cifra: Cantidad  ...
Esto solicita cada fenómeno a su vezClass measurement         public phenomenon calculatephenomenonfor (Quantity arg)     ...
return null;   }  class phenomenon  public boolen includes (Quantity arg)}  retur (_range == null ? false:_range.includes ...
Biografía              UML         GOTA A GOTA        MARTIN FOWLER      CON KENDALL SCOTT   ACTUALIZADO PARA CUBRIRLA VER...
Próxima SlideShare
Cargando en…5
×

Equipo 1 UML y la Programacion

555 visualizaciones

Publicado el

Trabajo por Isaias, Geiely y Ely.

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
555
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
8
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Equipo 1 UML y la Programacion

  1. 1. Instituto tecnológico superior de villa la venta CARRERA:INGENIERÍA EN SISTEMAS COMPUTACIONALES PROFESOR: MARLENE MIJANGOS ROMERO MATERIA: FUNDAMENTOS DE SISTEMAS TEMA: EL UML Y LA PROGRAMACIÓN NOMBRE DE LOS ALUMNOS: ELIZABETH GARCIA JIMENEZ ISAIAS OSORIO HERNANDEZ GEIELY CORDOVA DE DIOS
  2. 2. EL UML Y LAPROGRAMACIÓN
  3. 3. ¿CÓMO UTILIZA UN PROGRAMADOR EL UML, COMO PARTE DELDURO TRABAJO COTIDIANO DE LA PROGRAMACIÓN?Imaginemos un sistema de computo diseñado para reunir informaciónsobre los pacientes de un hospital .Este sistemas simple permite que cualquiera pueda obtener lainformación incluida en tales observaciones y agregar observacionesnuevas.Este es un ejemplo tan simple que no tiene mas que un solo caso deuso , llamado “revisar y añadir observaciones sobre el paciente”. preguntar por el ultimo ritmo cardiaco de un pacientePreguntar por el grupo sanguíneo de un pacienteActualizar el nivel del conciencia de un pacientePoner al día el ritmo cardiaco de un paciente. El sistema marca el ritmo comolento, normal o acelerado, de acuerdo con los intervalos interconstruidos en elsistemas
  4. 4. El primer paso en le proceso es escoger un modelo conceptualdescriba los conceptos de este dominio. No se refiere a trabajar conel software; únicamente se interesa sabré como organizar losconceptos que hay en los médicos y enfermeras. Comenzara conun modelo que se basa con varios patrones analítico de fowler.OBSERVACIÓN DEL PACIENTE : MODELO DE DOMINIOMuestra el modelo de un dominio inicial para nuestro sistemaComienza con los conceptos simples de cantidad, unidad e intervalo.Cantidad representa un valor que tiene una dimensiónEjemplo;
  5. 5. De tal forma que una medida de 1.8 metros para Martinfowler se representaría como una instancia de mediación.Asociada con esta medición esta la cantidad de 1.8 metros, eltipo de fenómeno “altura” y el paciente llamado Martin fowler.Los tipos de fenómenos representan las cosas que sepueden medir, altura, peso, ritmo cardiaco,A continuación veras un modelo de dominio de observación depaciente
  6. 6. Tipo de fenómeno Fenómeno * 0.1 1 *Medición Observación Observación de categoríaCifra: Cantidad categoría medición <<dinámica> 1 * paciente Cantidad unidad Intervalo Cifra: Numero Superior: Magnitud Unidad: Unidad Inferior :Magnitud Figura 11.1: MODELO DE DOMINIO DE OBSERVACIÓN DE PACIENTE
  7. 7. La observación de que el tipo de sangre de Martinfowler es O se representaría como una Categoríade Observación cuyo fenómeno asociado es el “tipode sangre O “, este fenómeno esta vinculado al Tipode fenómeno “grupo sanguíneo”.El siguiente diagrama nos muestra la observacióndel paciente
  8. 8. Grupo sanguíneo A: Fenómeno Grupo sanguíneo: Tipo de fenómenoAltura:Tipo de fenómeno Grupo sanguíneo O; fenómenoUna Medición Una Observacióncifra=1.8 metros de categoría Martin fowler; paciente figura 11.2: diagrama de objeto de observación de paciente
  9. 9. El diagrama nos muestra que podemos hacer que unaObservación sirva al definir que una medición de “90 latidospor minuto” también puede ser una observación de categoríacuyo fenómeno asociado es “ritmo cardiacoEstos modelos conceptuales fueron construidos por un par demédicos y una enfermera.Para hacer el traslado a un programa orientado a objetos, paramanejar el cuadro conceptual del termino del software. Paraeste problema escogimos el lenguaje de programación deJAVA.
  10. 10. Un intervaloSuperior=80 Imp.Inferior=60 Imp. Un intervalo superior = infinito Inferior=80 Imp.Ritmo cardiacoRápido:fenómeno Ritmo cardiaco normal; FenómenoRitmo cardiaco:Tipo deFenómeno Medición y observación de categoría cifra=70 Imp. Martin Fowler; Paciente 11.3.-Diagrama del objeto de observación del paciente
  11. 11. El siguiente diagrama figura 11.4 refleja las modificaciones que hiceal modelo de dominio para tomar en cuenta algunos de los factoresasociados con un lenguaje de implementación.Muestra las interfaces de las clases, en lugar de las clases misma.El paciente necesita ver todas sus observaciones, determinar cualesson las medidas del tipo fenómeno “ritmo cardiaco” y encontrar laultima cifra.
  12. 12. Tipo de Fenómeno 1 * Medición. 0.1 *Fenómeno. 0.1 * ObservaciónIntervalo: Intervalocantidad * 1 PacienteFigura 11.4 modelo de especificación de observación del paciente
  13. 13. La figura 11.5 muestra las muestra las operaciones que he añadido aPaciente para representarlas.Es necesario crear una nueva observación del fenómeno apropiado.Al hacer esto, el usuario preferirá generalmente seleccionar unfenómeno de una lista desplegable de cierta clase.Esto se puede manejar asociando los objetos fenómeno con un tipo defenómeno en particular, en tanto que esta responsabilidad esta implícitaen la asociación entre dos.
  14. 14. Tipo de fenómeno 1 * Medición 0.1 * Fenómeno * 1 ObservaciónIntervalo: intervalo-cantidad * 1 paciente ultimaCantidadDe(Tipo de fenómeno) : cantidad fenomenoDe(tipo de fenómeno) : fenómenoFigura 11.5 operaciones de observación de pacientes
  15. 15. GENERACIÓN DE CÓDIGOSIniciaremos con el tipo de fenómeno y el fenómeno, yaque ambos están estrechamente vinculados.Lo primero que hay que considerar es la asociación entreambos: ya que ambas direcciones son valiosas y, enambos casos, son conceptos estrechamente vinculados .Implementando la asociación con apuntadores en ambasdirecciones. Se hará una asociación inmutable, ya que setrata de objetos que se establecen y luego se dejan solos,no se modifican frecuentemente y cuando sucede podemoscrearlos de nuevo.
  16. 16. Ritmo cardiaca Ritmo cardiaco Ritmo cardiaco :Una Medición lento: Fenómeno normal: Fenómeno Tipo de fenómeno Encuentra el fenómeno() Incluye (cantidad) falso Incluye (cantidad) verdadero Ritmo cardiaco normal Figura 11.6 diagrama de secuencia de observación del paciente
  17. 17. Algunas personas tienen problemas con los vínculos de doblesentido,Veamos algunas declaraciones.
  18. 18. Aplicar la convención de añadir un guion bajo antes de todos loscampos.
  19. 19. La operación persist() almacena el tipo de fenómeno(phenomenonType) en un objeto de registro, de modo que se puedavolver a tomarlo después con un método estadístico get().A continuación, Ingreso el código que añade observaciones a unpaciente.Hago que el paciente se cuelgue de un conjunto de observaciones,ya que las observaciones se usan en el contexto de un pacienteimport java.io.*; import javax.swing.JOptionPane; public class observation{ public class observation extends DomainObjecto{ public observacion(phenomenon relevantphenomenon, patient patient, Date whenObserved) { -phenomenon = relevantphenomenon; patient.ObservationsAdd (this); _whenObserved = whenObserved;};
  20. 20. private Phenomenon _phenomenon; privete Date _whenObserved;}{ public class patient extends DomainObject { public patient (String name) { super (name); }; void observationsAdd (Observation newObs){ _observations.addElemt (newObs); }; private vector _observations = new vector ();}
  21. 21. con el programa anterior podemos crear las observaciones.new patient ("Adams").persiste(); new Observation (phenomenonType.get ("gender"). phenomenonNamed ("male"), patient.get ("Adams"), new Date (96,3,1)); class phenomenontype { public phenomenon phenomenonNamed (string neme){ Enumeration e = phenomena (); while (e.hasMoreElements ())} { phenomenos each = (phenomnon) e.nextElement() if (each.name() == name) return each; }; return null; } } } }
  22. 22. Después creamos las observaciones, necesitamos encontrar el fenómenoMas reciente class patient public phenomenonOf (phenomenonType phenomenonType) { retur (latestObservation (phenomenonType) == null ? new Nullphenomenon() : latestObservation (phenomenonType).phenomenon()); } private Observation latestObservation (PhenomenonType value) { return latestObservationIn (observationsOf (value) ); } private Enumeration observationsOf (phenomenonType value) { vector result = new vector (); Enumeration e = observations (); while (e.hasMoreElements ()) {
  23. 23. observation each = (observation) e.nextElement(); if (each. phenomenonType () == value) result.addElement (each); }; return result.elements (); } private observation latestObservationIn (Enumeration observationEnum) { if (!observation Enum.hasMoreElements () } return null; observation result = (odservation) observationEnum.nextElement (); if (!observationEnum.hasMoreElements ()) return result; do
  24. 24. { observation each =(observation) observationEnum.nextElement (); if (each.whenObserved (). after (result.whenObserved () ) ) result = each: } while (observationEnum.hasMoreElements () ); return result; } class observation public phenomenonType phenomenonType () { retur _phenomenon.phenomononType (); }
  25. 25. Observa este diagrama podemos ver que la única diferenciaentre Medición (Measurement) y Observacion (Observation) esque la Medición tiene una cantidad. Podríamos eliminar la claseMedición del modelo de especificación permitido que cualquierobservacion tenga una cantidad (potencialmente null) Primero necesitamos añadir una llamada de método al constructor de medición. class measurement public Measurement (Quantity amount), phenomenonType PhenomenonType, patient patient, Date whenObserved) initialize (ptient,whenObserved); _amount = amount; _phenomenonType = phenomenonType; _phenomenon = calculatephenomenonFor (_amount);
  26. 26. Tipo de fenómeno 1 Medición Cifra: Cantidad cadena 0.10.1 * Observación Fenómeno Marca de tiempoIntervelo:Intervalo * 0.1cantidad * 1 paciente ultimaCantidadDe(Tipo de fenómeno): Cantidad fenomenoDe(Tipo de fenómeno): fenómeno
  27. 27. Esto solicita cada fenómeno a su vezClass measurement public phenomenon calculatephenomenonfor (Quantity arg) { retur _phenomenonType _phenomenonIncluding (arg); }Esto solicita cada fenómeno a su vez.class phenomenonType public phenomenon phenomenonIncludig (Quantity arg) { enumeration e = phenomena (); while (e. hasMoreElements ()) { phenomenon each = (phenomenon) e.nextElement(); if (each. includes (arg)) return each; };
  28. 28. return null; } class phenomenon public boolen includes (Quantity arg)} retur (_range == null ? false:_range.includes (arg)); } }El código con naturalidad del diagrama de secuencia.Este es un ejemplo de como utilizar UML con unlenguaje de programación.Un diseño con un diagrama de clases y con undiagrama de interacción le puede ayudar a poner enorden sus pensamientos y a facilitarle la codificación
  29. 29. Biografía UML GOTA A GOTA MARTIN FOWLER CON KENDALL SCOTT ACTUALIZADO PARA CUBRIRLA VERSION 1,2 OMG UML standard

×