TP - Objetos - 2012
Cañerías, Mamma Mía
Mariano y Luis son dos hermanos plomeros muy exitosos, que brindan servicios a través de una SRL llamada "Cañerías, Mamma Mía", y famosos por su zona. Han hecho múltiples trabajos para personas muy destacadas, incluyendo uno para la Princesa Damasco, que consistía en erradicar una lagartija con caparazón de su sistema de desagüe.
Esto ha devenido en que ambos se vean sobrepasados de trabajo, y que les cueste cada vez más brindar el servicio de calidad que han brindado siempre.
Por ello, han decidido recurrir a la comunidad de Paradigmas de Programación para que les ayuden a automatizar parte del trabajo repetitivo que a veces les toca. Particularmente, necesitan ayuda con la construcción de sistemas de desagüe nuevos, principalmente en su diseño.
Dominio:
El objetivo general del sistema es poder conectar las piezas del desagüe de una casa, teniendo en cuenta que hay diferentes piezas, y una vez conectados, determinar cuánto tardará el fluido en recorrer de un extremo al otro del desagüe.
Un sistema de desagüe comienza con una tubería de salida, continua con la tubería principal y concluye con una tubería de desagote.
Se asume que las tuberías de salida se colocan previamente y en base a ellas se debe determinar qué tubería principal se puede conectar.
Se dice que una tubería A está conectada con una tubería B si el agua fluye de A a B. Se dice también que B es la siguiente de A, y A es la anterior de B.
Para poder conectar las tuberías, las tres partes deben ser del mismo diámetro. Hay diferentes tuberías:
- Tubería común: Se conoce su diámetro.
- Tubería gruesa: El diámetro depende del material de que está hecha. Si es de plástico, es de 2 pulgadas; si es de metal, el diámetro es de 3 pulgadas más un valor que depende de cada tubería.
- Tubería Canaleta: El diámetro es de 2 pulgadas
- Tubería Elástica: El diámetro surge del diámetro de fábrica más un porcentaje de ensanche según el uso que tenga.
Para calcular el tiempo total de desagüe, se suman los tiempos de las tres tuberías que componen el desagüe de la vivienda. El tiempo de cada elemento también depende de qué tubería se trata:
- Tubería gruesas, tarda 1 segundo por cada metro de longitud, más un adicional por su material:
- Si el material es acero, entonces se adiciona 2 segundos por cada metro de longitud de la cañería
- Si el material es plástico, entonces se adicionan siempre 3 segundos.
- Tubería común: El tiempo que tarda el fluido en pasar por ellas se conoce.
- Tubería Canaleta: El tiempo que tarda en pasar el fluido se calcula igual que el diámetro de la tubería.
- Tubería elástica: El tiempo se calcula: e = m * c 2 siendo m y c dos características de la tubería.
Requerimientos:
La funcionalidad requerida del sistema es:
- Colocar las cañerías en una vivienda, empezando por las de salida y desagote, para luego instalar la cañería principal, verificando que cumpla con las características indicadas.
- Calcular el tiempo total de desagüe, o sea el tiempo que demorará el líquido en circular de principio a fin de las cañerías, para una vivienda en particular.
- Entre dos viviendas, determinar cuál es aquella donde el líquido circula a mayor velocidad promedio (considerar el tiempo y la longitud de la cañería).
Se debe presentar:
Primer parte
- Hacer un diagrama con los objetos que intervienen en el sistema, indicando relaciones.
- Mostrar una secuencia de prueba de envío de mensajes, donde se vean las variantes.
- Codificar en lenguaje smalltalk la solución, señalando a qué objeto corresponde cada método desarrollado. (No es necesario hacerlo en el Pharo)
Segunda parte
- Hacer diagrama de clases
- Incluir en el Workspace la secuencia de prueba, incluyendo la instanciación de los objetos.
- Desarrollar la solución completa en Pharo