Presentacion de Un Lenguaje Orientado a ObjetosDescripción completa
Presentacion de Un Lenguaje Orientado a Objetos
Descripción completa
Objetos de Microsoft ExcelDescripción completa
Descripción: Ejemplo sin resolver
Descripción completa
Curva de indiferencia y restriccion presupuestariaDescripción completa
Descripción: XC
Descripción completa
MicroeconomiaFull description
Descripción: modelamiento de base de datos
posiciones bobath
Descripción: posiciones bobath
Descripción: Trabajo monográfico que describe la evolución del Visual Basic como Lenguaje de Programación.
Descripción completa
Descripción: Fasciculo 41 de la colección armas de guerra dedicado a los supercazas.
Descripción completa
Full description
Análisis de Sistemas Administrativos Guía de aprendizaje 4.1 Unidad 4 – Lenguaje de Restriccin de !"jetos !"jetivo# de$inir el lenguaje de restricciones de o"jetos %!&L' para e(presar restricciones ) navegaciones so"re un modelo orientado a o"jetos *ala"ras claves# ocl+ modelo orientado a o"jetos+ navegacin ,uracin# - s *reguntas 1' /*or0u un modelo grá$ico %como un diagrama de clases' no es su$iciente para lograr una especi$icacin precisa ) no am"igua2 3o es su$iciente de"ido a 0ue+ cuando e(iste la necesidad de esta"lecer restricciones adicionales so"re el modelo+ se escri"en en lenguaje natural. l lenguaje natural no es preciso ) presenta am"ig5edades de"ido a 0ue cada persona puede interpretar de $orma distinta las mismas pala"ras. 6' /&uáles son las ventajas ) desventajas de los lenguajes $ormales2 Las ventajas de los lenguajes $ormales son 0ue se eliminan las am"ig5edades+ la documentacin transmitida es más precisa. La desventaja es 0ue se re0uiere de personas con $ormacin matemática elevada para transmitir e interpretar la in$ormacin+ esto es algo 0ue no se cumple ma)ormente entre los involucrados en el desarrollo del sistema+ ) los usuarios $inales. 7' /!&L puede utilizarse para escri"ir lgica de programas2 3o+ )a 0ue !&L no es un lenguaje de programacin+ sino 0ue es un lenguaje declarativo. 4' /8u signi$ica 0ue !&L es un lenguaje tipado2 Signi$ica 0ue cada e(presin !&L tiene un tipo ) dicos tipos de"en concordar. 9' /&uáles son los principales usos de !&L2 !&L se puede utilizar para# : spe speci ci$i $ica carr regl reglas as de de nego negoci cio o : ,e$i ,e$ini nirr la semá semánt ntic ica a de de U;L U;L : spe speci ci$i $ica carr *<; *<; para para ;,A ;,A : speci$ speci$icar icar modelos modelos preci precisos sos ) completo completos s a partir partir de la construcc construccin in de modelo modelos s U;L=!&L com"inados -' /8u es un invariante2 Un invariante es una condicin 0ue de"e ser verdadera para todas las instancias de un tipo especí$ico en cual0uier momento. Su tipo conte(tual es un clasi$icador. >' ,entro del ám"ito de !&L+ /0u son las propiedades# atri"uto ) operacin ) e(tremo de asociacin2 l valor de una propiedad de un o"jeto 0ue es de$inido en el diagrama de clases es especi$icado por un punto %?.?' seguido del nom"re de una propiedad.
Los atributos son propiedades las cuales es posi"le de$inir reglas de negocio+ comparaciones o cálculos para restringir valores posi"les 0ue puede tomar la propiedad. jemplo# ?la edad de una persona es siempre ma)or o igual a 1@?. conte(t *erson inv# sel$.age B 1@ Las operaciones son propiedades similares a los atri"utos+ con la di$erencia 0ue pueden tener parámetros+ por lo 0ue un valor de la propiedad es e(presado como $uncin de los parámetros. jemplo# a*erson.income%a,ate' Un extremo de asociación es un nom"re de rol 0ue se otorga de acuerdo a una asociacin+ de ese modo se puede acer re$erencia desde un o"jeto acia otro o"jeto asociado denominado como e(tremo opuesto de la asociacin. jemplo#
3ota# si no se designa un nom"re de rol se puede nom"rar directamente al o"jeto e(tremo opuesto. @' ,e$ina $ormalmente las operaciones so"re colecciones# select%'+ $orAll%'+ e(ists%'+ size+ count%'+ ismpt)%'+ notmpt)%' : select(): *ermite o"tener un su"conjunto especí$ico de una coleccin segCn la e(presin "ooleana de$inida como argumento. conte(t *ro)ecto inv# sel$.participa D select %edad 9E' Dnotmpt)%' Indica que debe haber participantes mayores de 50 años en el proyecto :
forAll(): *ermite especi$icar una e(presin "ooleana 0ue de"e ser verdadera para todos los elementos de una coleccin. La operacin $orAll tiene como resultado un valor "ooleano. conte(t *ro)ecto inv# sel$.participaD$orAll%edad FB -9' Indica que todos los participantes del proyecto deben tener 65 años o menos
:
exists():
:
size(): nos size(): nos permite o"tener la cantidad de elementos de una coleccin conte(t &liente inv# sel$.m&uentasDsize%' F 1E Indica que la cantidad de cuentas que puede tener un cliente es menor a 10
:
count():
:
notEmpty(): veri$ica notEmpty(): veri$ica si e(iste al menos un o"jeto o no cuando navegamos la asociacin con multiplicidad. conte(t *ersona inv# sel$.esposaDnotmpt)%' implies sel$.esposa.genero B Genero##$emenino Indica que la existencia de una esposa de una persona implica que el #'nero de dicha esposa sea (emenino. isEmpty(): Al isEmpty(): Al contrario de notmpt)%'+ la operacin ismpt)%' valida como verdadero la no e(istencia de o"jetos en una coleccin. conte(t *erson inv# sel$.emplo)erD ismpt)%' )e e*alua a *erdadero si el conjunto de empleadores es *ac+o, de otra manera es (also.
:
jercicios A partir del siguiente siguiente diagrama de de clases+ esta"lec esta"lecer er las siguientes siguientes restricciones restricciones utilizando !&L
1' *ara cada tipo de avin+ el nCmero de asientos para tripulantes no puede ser ma)or al nCmero de asientos para pasajeros context TipoAvión inv: self.nroTripulantes < self.nroAsientos 6' Los viajes no pueden tener el mismo destino 0ue el origen context Viae inv: self.ori!en <" self.destino 7' La cantidad de oras de vuelo de un avin de"e ser menor a 1EEE
context Avión inv: self.#orasVuelo < $%%% 4' *ara aviones del tipo I,eltaJ de la serie IAJ+ la cantidad de asientos para los pasajeros de"e ser de 4E context Avión inv: self.tipo.tipo&'elta' and self.tipo.serie&'A' implies self.tipo.nroAsientos&% context tipoAvión inv: self.tipo&'elta' and self.serie&'A' implies self.nroAsientos&% 9' Los pasajeros de los viajes de"en ser ma)ores de 7 aNos ) menores de O9 context Viae inv: self.pasaero *" forAll(edad"+ and edad<,-) -' Un viaje de"e tener más de 9 pasajeros context Viae inv: self.pasaero *" size() " >' La cantidad de tripulantes de un viaje de"e ser menor o igual a la cantidad de pasajeros context Viae inv: self.tripulante *" size() <& self.pasaero *" size() @' La cantidad de pasajeros de un viaje de"e ser menor o igual a la capacidad de asientos del avin asignado al vuelo context Viae inv: self.pasaero *" size() <& self.avión.tipo.nroAsientos O' Un avin no puede tener mas de 9EE viajes asignados en su vida Ctil si es del tipo I,eltaJ context Avión inv: self.tipo.tipo&'elta' implies self.viae *" size() < -%% 1E' *ara los viajes 0ue tengan asignados aviones con una cantidad de oras de vuelo superior a 9EE s+ la edad de los tripulantes de"en ser ma)ores a 9E aNos context Viae inv: self.avión.#orasVuelo " -%% implies self.tripulante *" forAll(edad " -%)