Enunciados Ejercicios UML 9-11-09

download Enunciados Ejercicios UML 9-11-09

of 3

Transcript of Enunciados Ejercicios UML 9-11-09

EJERCICIOS PROPUESTOS DEL LIBRO ESPECIFICACIN DE SISTEMAS SOFTWARE EN UML (Costal et al.)

2. Haz el modelo conceptual de datos con notacin UML de una empresa de transportes que contiene informacin relativa a rutas, carreteras y poblaciones. La empresa cubre un mbito geogrfico comprendido por unas 1000 poblaciones. Cada poblacin tiene un cdigo y un nombre. Estas poblaciones estn unidas por unas 50 carreteras. Cada carretera tiene un cdigo. Una carretera consta de una serie de tramos consecutivos. De media, hay 100 tramos por carretera. Un tramo de una carretera se define por las dos poblaciones que une y la distancia en kilmetros entre ellas. Tambin se considera la duracin del trayecto, en minutos, entre estas dos poblaciones, que, en caso general, puede ser diferente segn sea un sentido o el otro. Por una misma poblacin pueden pasar diversas carreteras. Un ejemplo con 9 poblaciones, 3 carreteras y 10 tramos podra ser:autA2 com12 loc1 A B C D H E I F

G

El trayecto que ha de recorrer un camin de la empresa es una ruta. Hay unas 30 rutas, cada una de las cuales tiene un cdigo. Una ruta parte y acaba en una misma poblacin, y consta de una serie de tramos consecutivos de la misma o diferentes carreteras, que se han de recorrer en una cierta direccin. Por ejemplo, la ruta 10 podra ser: (B,C,autA2),(C,F,com12),(F,E,com12),(E,H,loc1),(H,E,loc1),(E,D,autA2), (D,C,autA2),(C,B,com12) 3. Considera una empresa que se dedica a la fabricacin de aparatos electromecnicos y est interesada en construir un sistema que incluya, entre otras cosas, informacin sobre la composicin de los aparatos. Cada aparato consta de una o ms unidades de uno o ms componentes. Un componente puede ser una materia prima u otro aparato (que al mismo tiempo tendr componentes). Una materia prima es un producto que se adquiere a un (y slo uno) proveedor, y no es fabricada por la empresa. Tanto los aparatos como las materias primas tienen un cdigo identificador de tipo string(5) y un nombre de tipo string(50).Por ejemplo, el aparato A requiere 5 unidades del aparato B, 8 unidades del aparato C y 4 unidades de la materia prima D (la cual es suministrada por el proveedor P1). El aparato B consta de 10 unidades de la materia prima E (del proveedor P2). El aparato C consta de una unidad del aparato F, el cual consta de 5 unidades de la meteria prima G (del proveedor P1).

En la fabricacin de un cierto aparato un componente puede tener ninguno o varios sustitutos. Un sustituto es otro componente que se puede utilizar si no se dispone del previsto en la fabricacin de un aparato determinado.Por ejemplo, si no se dispone de un aparato B cuando se fabrica el A se puede utilizar el F en su lugar.

Un sustituto de un componente que es un aparato puede ser una materia prima u otro aparato. Un sustituto de un componente que es una materia prima slo puede ser otra materia prima del mismo proveedor.

Por ejemplo, si no se dispone de la materia prima G cuando se fabrica el aparato F, se puede utilizar en su lugar la materia prima H. Esta materia prima H es suministrada por P1. Por tanto, cumple la restriccin indicada.

Haz el modelo conceptual de datos de este sistema con notacin UML. Expresa grficamente todas las restricciones que puedas. Las restricciones que no se puedan expresar grficamente y las reglas de derivacin de los atributos derivados, si los hay, especifcalos con el lenguaje OCL. Has de indicar tambin, necesariamente, la instanciacin del modelo con los datos del ejemplo que se ha dado. Si al hacer este ejercicio necesitas ms informacin, haz las suposiciones que creas ms adecuadas e indcalas bien claramente.

4. Considera un comit organizador de un congreso que est interesado en construir un sistema que incluya, entre otras cosas, informacin sobre las ponencias que se presentarn. Cada ponencia tiene un cdigo y un ttulo y est escrita por uno o ms autores. Una vez recibidas, cada ponencia se enva a uno o ms revisores. Los revisores no pueden ser autores de ninguna ponencia. Al cabo de un tiempo, los revisores envan sus informes de cada ponencia que han de revisar. A veces, un revisor no enva ninguno de los informes, o no enva alguno de los que tena que hacer. De todas maneras, siempre se tiene al menos un informe de cada ponencia. Cada informe, cuando se recibe, da una puntuacin (de 0 a 10) de la ponencia y clasifica la ponencia en una de las sesiones que habr en el congreso. Cada sesin corresponde a uno de los das del congreso, con una hora inicial y una hora final.Por ejemplo, la ponencia 10, de ttulo YSM, est escrita por los autores A1 y A2. La ponencia se envia a los revisores Ra, Rb y Rc. El primero le da un 5 y la clasifica en la sesin Anlisis Estructurada Moderna. El segundo le da un 8 y la clasifica en la sesin Nuevos mtodos de especificacin. El tercero se olvid de enviar el informe. La ponencia 23, de ttulo La importancia de los eventos, est escrita por los autores A2 y A5 y se enva al revisor Rb, que no contesta, y al Rd, que la califica con un 3 y la clasifica en la sesin Nuevos mtodos de especificacin.

De cada autor o revisor, el sistema tiene un cdigo identificador, su nombre y su direccin. En una cierta fecha, el comit se rene y, partiendo de los informes, decide qu ponencias acepta y cules rechaza. Las ponencias aceptadas se asignan a una sesin, que ha de ser una de las sugeridas por los revisores. Para las ponencias rechazadas, se guarda el motivo. Todas las ponencias acaban siendo aceptadas o rechazadas.Por ejemplo, se decide aceptar la ponencia 10 y asignarla a la sesin Anlisis estructurada moderna. La sesin Anlisis estructurada moderna se har el da 29/04/03, de 11 a 13. La ponencia 23 se rechaza por el motivo demasiado larga.

Haz el modelo conceptual de datos de este sistema con la notacin UML. Expresa grficamente todas las restricciones que puedas. Las restricciones que no se puedan expresar grficamente y las reglas de derivacin de los atributos derivados, si los hay, especifcalos con el lenguaje OCL. Has de indicar tambin, necesariamente, la instanciacin del modelo con los datos del ejemplo que se ha dado. Si al hacer este ejercicio necesitas ms informacin, haz las suposiciones que creas ms adecuadas e indcalas claramente. 7. Considera el caso de un aficionado a la msica rock que quiere construir un sistema que gestione informacin sobre su fonoteca. El sistema ha de permitir guardar y consultar datos sobre los discos (compactos, eleps o cassettes) y sus intrpretes. Los discos son editados por casas discogrficas. Cada casa discogrfica se identifica por un nombre, y cada disco se identifica por un cdigo alfanumrico y tambin tiene un nombre. Los discos se estructuran en secuencias de cortes. Un corte es una grabacin continuada, normalmente de una nica cancin, y se identifica mediante un cdigo alfanumrico. Tambin tienen un nombre y una fecha de grabacin. En un disco compacto hay una sola secuencia de cortes y cada corte aparece en una cierta posicin de la secuencia. En un LP o un cassette hay una secuencia de cortes por cada cara y cada corte aparece en una

posicin de una cara. Un mismo corte puede aparecer en diversos discos (por ejemplo, en el disco original y en una recopilacin) pero no puede aparecer ms de una vez en el mismo disco.Por ejemplo, la casa discogrfica Zafiro ha editado el disco compacto D1 y el disco LP D2. D1 tiene la cancin C1 como primer corte y la cancin C2 como segundo corte. El disco D2 tiene la cancin C1 como primer corte de la primera cara, y la cancin C3 como primer corte de la segunda cara, y no tiene ms cortes.

Tambin se quiere tener informacin sobre los intrpretes de cada corte. Un intrprete se identifica mediante un cdigo alfanumrico; tiene un nombre, un ao de nacimiento y, si ya est muerto, un ao de defuncin. Un intrprete puede participar en la grabacin de un corte interpretando diversos papeles (vocal, guitarra solista, piano, batera, etc.), pero un instrumento determinado de un corte slo lo puede tocar un intrprete. Desgraciadamente, a veces se desconocen los intrpretes de un corte, o los instrumentos que han tocado.Por ejemplo, el intrprete I1 naci el ao 1930 y todava vive. I2 naci el 1920 y muri el 1965. Ambos participaban en la grabacin de C1: I1 como vocalista y piano, e I2 como batera.

Haz el modelo conceptual de datos de este sistema con la notacin UML. Expresa grficamente todas las restricciones que puedas. Las restricciones que no se puedan expresar grficamente y las reglas de derivacin de los atributos derivados, si los hay, especifcalos con el lenguaje OCL. Has de indicar tambin, necesariamente, la instanciacin del modelo con los datos del ejemplo que se ha dado. Si al hacer este ejercicio necesitas ms informacin, haz las suposiciones que creas ms adecuadas e indcalas claramente.