Download - Ejercicios modelado de softwareocw.uc3m.es/.../informatica-industrial-i/ejercicios_modelado.pdf · Ejercicios modelado de software Ejercicio 1 ... Se pide que utilizando herencia

Transcript

Curso:InformáticaIndustrial

MohamedAbderrahim

ÁlvaroCastroGonzález

JoséCarlosCastilloMontoya

Ejerciciosmodeladodesoftware

Ejercicio1Sequierehacereldiseñodeunrobotmodular.Elrobotestarácompuestoporvariosmódulos

entrelosqueseencuentran:rotación,extensión,helicoidal,cámara.Losmódulospodránser

dinámicos (capaces de moverse: rotación, extensión, helicoidal) o estáticos (no se pueden

mover:cámara).

Losmódulostendránunidentificador(1-255)yunasdimensiones(largo,anchoyalto,entre1

y 200mm). Los módulos estarán compuestos de un sistema de control y un sistema de

comunicación.Losmódulosdinámicostendrán:

•motores(1ó2).

•unparámetroqueeseltipodemovimientoquepuedenrealizar.

•unafunciónqueesmoverse(conparámetroeltipodemovimiento).

Losmódulosestáticospodrántenersensores(de0a5).

El sistemade control utiliza el sistemademensajes para comunicarse. Losmódulos pueden

enviar y recibirmensajes de/hacia el usuario y otrosmódulos, conunparámetroque es un

arraydedatos amandaro recibir. Tambiénutiliza losmotoresparamoverse y los sensores

paracaptarinformacióndelmedio.

Sepidequeutilizandoherenciasiemprequesepueda,serealiceundiseñoUMLdelasclases

necesariaspara representar todas las entidadesdel sistema, indicandoatributos ymétodos,

asícomolasrelacionesexistentesentrelasclases.

Soluciónpropuesta:

Ejercicio2Especificarundiagramadeclasesquedescriba redesdeordenadores. Loselementosquese

puedenincluirenlaredson:

• Servidor,PC,Impresora.

• Hub,Cabledered.

LosPCspuedenconectarseconunúnicoHub,losservidoresconunoovarios.

LosServidoresyPCspuedengenerarmensajes,conunaciertalongitud.

LosHubstienenunnúmerodepuertos,algunosdeloscualespuedeusarseparaconectarcon

otrosHubs.Tienenciertaprobabilidadde“perder”mensajes.

Lasimpresoraspuedenaveriarse,conciertaprobabilidad,duranteciertotiempo.

Soluciónpropuesta:

Ejercicio3

Una biblioteca tiene copias de libros. Estos últimos se caracterizan por su nombre, tipo

(ingeniería,literatura,informática,historia...),editorial,añoyautor.

Losautoressecaracterizanporsunombre,nacionalidadyfechadenacimiento.

Cada copia tieneun identificador, ypuedeestaren labiblioteca,prestada, con retrasooen

reparación.

Loslectorespuedentenerunmáximode3librosenpréstamo.

Cadalibroseprestaunmáximode30días,yporcadadíaderetraso,seimponeuna“multa”

dedosdíassinposibilidaddecogerunnuevolibro.

Realiza un diagrama de clases y añade los métodos necesarios para realizar el préstamo y

devolucióndelibros.

Realizaundiagramadecasosdeusos.

Soluciónpropuesta:

Ejercicio4

Representamedianteundiagramadeclaseslasiguienteespecificación.

Unaaplicaciónnecesitaalmacenarinformaciónsobreempresas,susempleadosysusclientes.

Ambos(empleadosysusclientes)secaracterizanporsunombreyedad.Losempleadostienen

unsueldobruto,losempleadosquesondirectivostienenunacategoría,asícomounconjunto

deempleadossubordinados.

De los clientes, además se necesita conocer su teléfono de contacto. La aplicación necesita

mostrarlosdatosdeempleadosyclientes.

Soluciónpropuesta:

Ejercicio5

Se propone realizar un modelo simplificado de los distintos miembros de la comunidad

universitaria.Todoslosmiembrosdelacomunidaduniversitariasecaracterizanporunnombre

y unD.N.I. Losmiembros se dividen en estudiantes o personal de la universidad. Todos los

estudiantestienenunnúmerodeidentificaciónasociado:elnie.

Encuantoalpersonal,todostienenunsalarioasignadoyasuvezestospuedenserpersonal

docente investigador (pdi) ó personal de administración y servicios (pas). Los pdi tienen

asignadaunaasignaturaqueimpartir(seidentificaráporeltítulo)ylospasunedificiodonde

trabajan (se identificará por el nombre del edificio). Además de los anteriores, existen los

doctorandosquesonalavezpdiyestudiantes.Losdoctorandossecaracterizanporeltítulode

latesisdoctoralsobrelaqueinvestigan.

Sepideque,utilizandoherenciasiemprequesepueda,serealiceundiseñoUMLdelasclases

Miembro, Personal, Estudiante, Pdi, Pas y Doctorando y se implementen en código C++

ajustándosealadescripcióndadaanteriormente.

Soluciónpropuesta:

Ejercicio6

En un juego de ordenador existen 2 tipos de jugadores: los principiantes y los avanzados.

Todos ellos deben tener un nombre y un número de vidas. Los principiantes se desplazan

andandoaunascoordenadas(x,y).Losjugadoresavanzadosademásdeandartambiénpueden

conducirunvehículoparadesplazarsemásrápidoaunascoordenadas.Cadavehículotienen

asociadaunavelocidadquepuedeserleídayajustadaaunvalordadoperonopuedesuperar

unavelocidadmáximadada.Lavelocidadmáximasólosepodráasignarunavezynopodráser

modificada.

Todos los atributos de las clases serán privados y tendránmétodos públicos para acceder a

ellos (get/set) salvoque los requisitos indiquen lo contrario.Debeexistir unmétodoque se

llameandaryotroconducir.

Crear el diagrama UML de clases para el problema propuesto y que incluya todas las

funcionalidadesdescritas.

Soluciónpropuesta:

Ejercicio7

Sean∈Z+.Decimosquenesunenteroperfectosi2nesigualalasumadetodossusdivisores

positivosincluidoelmismo.Porejemplo,elnúmero6esunnúmeroperfectoyaque

2*6=1+2+3+6=12

Aligualque28y496.

Realiceeldiagramadeflujoy la implementaciónencódigoC,paradeterminarsiunnúmero

enteroesperfectoono.

Soluciónpropuesta:

Ejercicio8

Enunprogramadeordenador, las facturas tienennecesariamenteunconjuntodedatosdel

proveedor,unconjuntodedatosdelcliente,unimporte(valordecimal)yunafecha(vectorde

enteros). Losdatosdel cliente son la cadenade caracteresnombre y el entero fiabilidadde

pago,mientrasquelosdatosdelproveedorsonsólosunombre.Dentrodelacategoríacliente

estáelsubtipo“clientemoroso”,quellevatambiénasociadoelnúmerodecimaldeuda.Cada

clase tendrá losmétodos para leer y fijar (“set” y “get”) todos sus atributos (no hace falta

incluirenlaclaseFacturalosmétodosparafijardatosdelclienteodelproveedor).Tambiénse

debe incluir en la clase Factura unmétodode “Borrado”, que no devuelve ni recibe ningún

parámetro.Losatributosseránprivadosytendránmétodospúblicosparaaccederaellos.

Se pide dibujar el diagrama UML de las clases Factura, Datos_del_cliente y

Datos_del_proveedor.

Soluciónpropuesta:

Ejercicio9

Sehademodelarpartedelafuncionalidadrequeridaparaunsubsistemadegestióndetrenes

decompañíasferroviarias.Losrequisitosdealmacenamientodeinformaciónquesenecesitan

estándefinidos(conlenguajenatural)comosigue.

Enprimerlugar,todacompañía(consudenominación)aconsiderarposeealmenosuntren.

Cada tren está compuesto por una máquina tractora y al menos un vagón. Pueden existir

vagonesymáquinasnoasignadosatrenalguno.Cadatrentieneuncódigoidentificadorpropio

de su compañía, los vagones una capacidadmáxima, y lasmáquinas tractoras una potencia

máxima.

Unacompañíatienealmenosunempleado,delquesealmacenansusprincipalesdatos,como

sonelnombre,elnúmerodelaseguridadsocialyeldomicilio.Segúnsutrabajo,estospueden

ser jefesuoperarios. Si es jefe, se almacena sunúmerode teléfono.Cadaempleadopuede

tener designados un conjunto demáquinas tractoras y/o vagones. A su vez, cadamáquina

tractora o vagón podrá estar asignado a un conjunto de empleados. Eso sí, cada tren tiene

siempreasignadosujefe,ycadamáquinatieneunoperarioquelaconduce.

Realizar en UML el diagrama de clases que recoge la relación existente entre trenes,

empleados, teniendo en cuanta que todos los atributos son privados. Las clases deben

contemplarelacceso (get)yel cambio (set)para todos losatributosmenosenel casode la

potenciadelamáquina.Especificarrelacionesymultiplicidades.

Soluciónpropuesta:

Ejercicio10

Sedesearealizarelmodelodeunsistemadegestiónbibliográfica.Paraelloseconsideranlos

siguientesconceptos:

• Hay “Bases_de_datos” que tienen un atributo que es su “url”, y un método

“anadir_publicación” (quedevuelveunpunteroa“Publicación”y tieneunparámetroquees

unstring).

•Lasbasesdedatossecomponende“Publicaciones”.

• Una publicación tiene dos atributos: “nombre” (de tipo string) y “fecha” (de tipo Date –

suponerlayaimplementada).

•Hayvariostiposdepublicaciones:“Articulo_de_conferencia”,“Capitulo_de_libro”y“Libro”.

Asuvezhayuntipodelibroquesonlos“Proceedings”,quesonlibroscompuestosporvarios

artículos de una misma conferencia. Los artículos de conferencia tienen un atributo:

“num_paginas”(int).Loscapítulosdelibrotienenunatributo:“num_capitulo”(int).Loslibros

tienen un atributos: “ISBN” (array de 4 enteros). Los proceedings tienen un atributo:

“lugar_conferencia”(string).

•Loslibrospuedencontenercapítulosdelibro.

•Losproceedingsestáncompuestosporartículosdeconferencia.

•Tambiénhay “Autores”,que tienen tresatributos: “nombre” (string), “correo_electronico”

(string) y “entidad” (string), y un método: “añadir_entidad” (no devuelve nada, y tiene un

parámetrodetipostring).

•Losautorespuedenescribirartículosyconsultarbasesdedatos.

Utilizando herencia siempre que se pueda, realizar un diseño UML de clases del sistema

indicando:

Lasclasesqueseconsiderennecesariasconsusatributosymétodos.Eltipodeprivacidadmás

idóneo. Las relaciones entre clases: asociación, dependencia, herencia, agregación,

composición, etc. Lamultiplicidaden las relaciones entre clases.Almenosunade las clases

debeserabstracta(indicarloclaramente).

Soluciónpropuesta: