Revisión actual |
Tu texto |
Línea 1: |
Línea 1: |
| {{Back|Ingeniería de Software I}}
| | <div style="border: 1px solid #CECEFF; padding: 5px; background-color: #EEEEFF; margin: 0px 0px 15px 0px;">[[Image:Back.png|14px|]] [[Ingeniería de Software I|Volver a la página de la materia]]</div> |
|
| |
|
| Para esta practica los docentes recomendaron usar : http://www.db.informatik.uni-bremen.de/projects/USE/ | | == Ejercicio 01 == |
| UTN FOR THE W.I.N!
| | <i> |
| RIKIIII BIGOTEEEEEEEE
| | En un restaurante trabajan cocineros, mozos y empleados de limpieza. Para todos ellos |
| RIKIIII BIGOTEEEEEEEE
| | se desean guardar los siguientes datos: nombre, documento, dirección y teléfono. El |
| RIKIIII BIGOTEEEEEEEE
| | restaurante ofrece una variada cantidad de platos y los cocineros pueden |
| RIKIIII BIGOTEEEEEEEE
| | especializarse en distintos de ellos, como por ejemplo: platos franceses, italianos, |
| RIKIIII BIGOTEEEEEEEE
| | griegos, zulúes, etc. Además los platos se pueden separar en fríos o calientes. Los |
| RIKIIII BIGOTEEEEEEEE
| | empleados de limpieza pueden estar encargados de la limpieza general del restaurante |
| RIKIIII BIGOTEEEEEEEE
| | o ser lavadores de cacharros. Los primeros trabajan por horas y para los segundos es |
| RIKIIII BIGOTEEEEEEEE
| | necesario guardar la cantidad de cacharros rotos para descontarlos luego de su sueldo. |
| RIKIIII BIGOTEEEEEEEE
| | Los mozos están asignados a mesas determinadas. Esta asignación cambia todos los |
| RIKIIII BIGOTEEEEEEEE
| | meses. Cada mesa puede pedir varios platos, bebidas y postres. |
| RIKIIII BIGOTEEEEEEEE
| | Realice un modelo conceptual del anterior enunciado. |
| RIKIIII BIGOTEEEEEEEE
| | </i> |
| RIKIIII BIGOTEEEEEEEE
| | <br><br>'''Rta:'''<br> |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
| RIKIIII BIGOTEEEEEEEE
| |
|
| |
|
| == Ejercicio 02 == | | == Ejercicio 02 == |
| <i>
| |
|
| |
| En una droguería se fabrican medicamentos. Cada medicamento se obtiene a partir de la combinación de distintas drogas, las cuáles están descriptas en su fórmula.
| |
| Las drogas son suministradas por proveedores. Las drogas se compran de a lotes.
| |
| Cuando un nuevo lote de una droga (siempre los lotes son de una sola droga) ingresa
| |
| a la droguería, éste permanece en cuarentena hasta tanto se certifique mediante
| |
| distintos análisis que su calidad es satisfactoria. Los resultados de los análisis pueden ser consultados en cualquier momento. Tras superar los análisis, el lote deja de estar en cuarentena y pasa a estar en producción.
| |
| A partir de los lotes de drogas en producción se fabrican los lotes de medicamentos
| |
| que finalmente se venderán. Los lotes de medicamentos poseen un tratamiento similar
| |
| a los de drogas: inicialmente se encuentran en cuarentena hasta tanto un conjunto de
| |
| análisis certifican su buen estado. Es importante saber, dado un lote de medicamentos,
| |
| de cuáles lotes de drogas provienen sus componentes.
| |
| Realice un modelo conceptual que permita modelar lo mencionado en el enunciado. Justifique las entidades, relaciones y cardinalidades utilizadas. ¿Existen restricciones que no ha podido modelar con su modelo?. Justifique
| |
| utilizando ejemplos instanciados en el problema.</i>
| |
|
| |
| JUSTIFICAME LA PINGA HIJO DE PERRA RESUELVE PARA LA OTRA CAGADA
| |
| UTN mdp 2019 PA
| |
| [[Image:Ej2McIng1.PNG]]
| |
|
| |
| Nota del 28 - 4 - 08 Faltaria modelar la cuestion de los análisis ?
| |
|
| |
| No es posible modelar sin uso de OCL que las formulas son respetadas, es decir, que un lote de un medicamento se compone por los lotes de las formulas correspondientes.
| |
|
| |
| Notar que faltan atributos como ser cantidades, y nombres de roles en todas las asociaciones. Deberian incluirse para que el ejercicio sea completo.
| |
|
| |
| == Ejercicio 03 == | | == Ejercicio 03 == |
| == Ejercicio 04 == | | == Ejercicio 04 == |
Línea 184: |
Línea 136: |
| == Ejercicio 08 == | | == Ejercicio 08 == |
| == Ejercicio 09 == | | == Ejercicio 09 == |
|
| |
| Ver [[http://cuba.dc.uba.ar/wiki/images/a/a9/Clase-MC-OCL-20060831-Ing1.pdf Link a PDF]]
| |
|
| |
| == Ejercicio 10 == | | == Ejercicio 10 == |
| == Ejercicio 11 == | | == Ejercicio 11 == |
|
| |
| Modele un sistema de reservas aéreas. La empresa realiza vuelos directos entre dos ciudades. En caso de querer hacer un viaje de varios tramos, el pasajero deberá realizar una reserva por cada tramo. Por razones caprichosas del director de la empresa sólo se puede realizar un trasbordo cómo máximo.
| |
|
| |
| La empresa tiene distintos modelos de aviones, por lo que los vuelos tienen distintas capacidades. Se pueden reservar pasajes de ida o de ida y vuelta. El sistema debe incluir operaciones para:
| |
| * registrar un nuevo vuelo
| |
| * cancelar un vuelo
| |
| * efectuar una reserva
| |
| * consultar vuelos entre dos ciudades
| |
|
| |
| Cada vuelo tiene número de vuelo, fecha y hora de partida y fecha y hora de llegada. En caso de no existir un vuelo que una las ciudades requeridas por el pasajero, o que el vuelo requerido esté completo, el sistema deberá emitir un mensaje informativo. Se puede asumir que el número de vuelo identifica a un solo vuelo, que todo el sistema expresa los datos utilizando la hora de una ciudad y que la fecha se representa por un natural.
| |
|
| |
| Exprese un invariante del tipo ''todos los vuelos arriban en un horario posterior al de salida'' y ''entre dos arribos de vuelos de la compañía al mismo aeropuerto, deben transcurrir por lo menos 20 minutos''.
| |
|
| |
| '''TODO: Faltan cosas en el modelo, como las responsabilidades, algunos invariantes y representar los ida y vuelta.'''
| |
|
| |
| '''Modelo Conceptual:'''
| |
|
| |
| [[Image:Ej11McIng1.PNG]]
| |
|
| |
|
| |
| '''OCL:'''
| |
|
| |
| ''Si un viaje tiene dos reservas, entonces el origen de una es el destino de la otra.'' <br/>
| |
| context: Viaje <br/>
| |
| inv: let res = self.reservas->asOrderedSet() in <br/>
| |
| self.reservas->size() = 1 or <br/>
| |
| res->first().vuelo.origen = res->last().vuelo.destino or <br/>
| |
| res->first().vuelo.destino = res->last().vuelo.origen or <br/>
| |
|
| |
| ''Un vuelo no es un loop'' <br/>
| |
| context: Vuelo <br/>
| |
| inv: not self.origen = self.destino <br/>
| |
|
| |
| ''El avion no es magico'' <br/>
| |
| context: Vuelo <br/>
| |
| inv: self.AsientosOcupados <= self.avion.Capacidad <br/>
| |
|
| |
|
| |
|
| [[Category:Prácticas]] | | [[Category:Prácticas]] |