design - tool - ¿Usas bolas de espuma de poliestireno para modelar tus sistemas?
database modeling online (8)
El modelo de la pelota de espuma de poliestireno parece remontarse a mediados de la década de 1990, una época en que los sistemas CASE (análisis asistido por computadora) estaban de moda.
En ese momento, los sistemas CASE prometían beneficios significativos, pero eran extremadamente lentos, con errores, inestables, sobreextendidos y francamente incómodos de usar. Básicamente, largo en potencial pero corto en la entrega.
Recuerdo haber tenido una conversación con un analista que trabajaba en un proyecto diferente al mío. Su equipo se había sentido tan frustrado con su sistema CASE que lo destrozaron y recurrieron al modelado de "placas de papel y cuerdas". Reservaron una sala de reuniones, quitaron todos los muebles y diseñaron su modelo de proceso utilizando placas de papel etiquetadas con cadenas (que representan flujos de datos) conectándolos. Ella afirmó que era mucho más útil que el sistema CASE que reemplazó.
Sospecho que el modelo de pelota de espuma de poliestireno tenía raíces similares.
El uso de bolas de espuma de poliestireno o placas de papel fomentó el diseño "buy-in". Si un equipo encuentra algo para reunirse, naturalmente crea un enfoque de diseño común. Es simple, concreto y minimalista: usarlo requiere mucha interacción cara a cara y debate. Y de ahí viene el valor. Sospecho que si trajiste una nueva persona al proyecto y les pediste que se pusieran al día revisando el "modelo", estarían "muertos en el agua". Sin embargo, guíelos a través del "modelo" y se produciría una conversación real donde se impartiría toda la información requerida sobre el proyecto de manera rápida y eficiente.
¿Creo que las bolas de poliestireno pueden convertirse en una herramienta de modelado sostenible? No, yo no. Sería un verdadero dolor mantenerse al día en un entorno cambiante. Ellos transmiten poca información. Hay mejores herramientas disponibles en la actualidad. Y lo más importante, si el equipo con el que trabajas no lo "compra", y probablemente no lo haga, se verá realmente estúpido, como una mascota del equipo deportivo, un punto de reunión solo si el equipo "lo compra" ".
[C objetivo]
¿Todavía usas bolas de espuma de poliestireno para modelar tus sistemas, donde cada bola representa una clase?
Tom Love: lo hacemos, en realidad. También hicimos una versión de animación en 3D de la misma, que no fue tan útil como las bolas de espuma de poliestireno. Hay algo sobre una estructura física, llamativa, que cuelga del techo justo en el medio de un proyecto de desarrollo que se actualiza regularmente para proporcionar no solo la estructura del sistema que está construyendo, sino también el estado actual de cada una de las clases.
Lo hicimos en 19 proyectos la última vez que conté. Una de ellas fue de 1,856 clases, que es grande, en realidad, probablemente más grande de lo que debería ser. Era un gran proyecto comercial, por lo que necesitaba ser algo grande.
Mentes maestras de la programación
Es la primera vez que leo o escucho sobre el uso de bolas de poliestireno para modelar clases.
¿Es esa una técnica comúnmente utilizada? Y, ¿cómo nos ayuda ese tipo de modelos a diseñar mejor el sistema?
Si tienes fotos para compartir que puedan mostrarnos cómo se representan las clases, ¡sería genial!
Actualización: Entonces, parece que el material que la mayoría de la gente usa es el papel. Las bolas de espuma de poliestireno son realmente bolas raras , no una técnica comúnmente utilizada.
Técnicas notables:
- modelado de "placas de papel y cuerdas", NealB
- Notas Post-it en una pizarra, Jason
- Class-Responsibility-Collaboration Tarjetas de Class-Responsibility-Collaboration , duffymo
- Hojas de papel AMissico a la pared, AMissico
Gracias a todos por las muy buenas respuestas.
Encontré un par de modelos de espuma de poliestireno para:
y
(si eso ayuda)
En realidad, aquí hay un caso de estudio de Tom Love que muestra un par de sus models .
Este modelo puede representar la herramienta CASE menos costosa en el mercado: los materiales cuestan $ 20.35. Fue más útil que cualquier herramienta CASE que haya usado alguna vez.
Lo usamos de tres maneras importantes.
Se corrigió el número de clases que entregaríamos en la aplicación finalizada y no permitimos que se agreguen nuevas, a menos que se puedan eliminar las existentes.
Era una forma muy útil de documentar públicamente qué clases habían sido revisadas por código (cintas azules) y probadas (cintas verdes).
Ayudó a todos a comprender qué se estaba construyendo y cuánto tiempo y esfuerzo se necesitan para realizar pruebas, documentación y revisiones de códigos.
Editar: foto del modelo de objetos
texto alternativo http://img686.imageshack.us/img686/82/stryrofoamobjectmodel.jpg
Hay una aplicación para esto que creo que tendemos a olvidar: utilizar herramientas para articular una arquitectura es algo natural para nosotros después de años en la industria, pero hay partes interesadas valiosas, aunque menos tecnificadas, que pueden no captar conceptos vitales como fácilmente. A veces sería un salvavidas señalar un grupo de bolas y decir: "Este es el modelo de procesamiento de lenguaje, y si implemento la función que desea, tendrá consecuencias aquí, aquí y aquí. Puede ver que hay muchas bolas conectadas allí ".
Los arquitectos, ya sea que diseñen edificios o sistemas, pueden confiar en esos modelos tangibles para adoctrinar a los escritores de cheques en el proceso.
Hojas de papel rayado pegadas a la pared, donde cada hoja es un componente, clase, entidad o lo que sea necesario. Todos tienen un lápiz
Todos pueden escribir sobre ellos "enjuagando" el modelo durante las reuniones de diseño. Tales como, notas de reuniones, notas de implementación, nuevas clases, clases eliminadas, razones por las que no tiene una clase en particular, y así sucesivamente. Después de la reunión de diseño, el diseñador principal los descifra y los reescribe, volviéndolos a enjuagar con la pluma en versiones de "borrador". El diseñador puede tomar decisiones basadas en las notas de cada hoja, crear hojas nuevas para cualquier componente adicional. Genere temas para la próxima reunión, tenga en cuenta cualquier discrepancia, tenga en cuenta los detalles de diseño / implementación necesarios para la codificación, o cualquier otra cosa que necesiten hacer.
Repita las reuniones hasta que todos estén satisfechos. El lápiz es algo nuevo, el lápiz es elementos anteriores. Una vez que todo el mundo está contento, el diseñador crea el borrador de trabajo, y las publicaciones donde todos pueden ver e inicializan, en pluma, su aceptación del "borrador de trabajo".
Nada es final. Las versiones de lápiz son las "últimas" versiones. Las versiones de lápiz son versiones de "trabajo en progreso" o "borrador".
Simple, rápido, flexible, sin pérdida de tiempo en la computadora, con alta visibilidad. Wiki del hombre trabajador
Las notas post-it en una pizarra parecen ser populares en los círculos en los que viajo. Los objetos se colocan en los Post-Its, y los reorganiza hasta que obtiene sus relaciones de la forma que usted desea.
Y luego están las personas de Color Modeling que usan un paquete de 4 Post-Its coloreados y le asignan un arquetipo a cada color. No parece que esto sea una gran mejora, pero al estar de pie en una habitación mirándolo, puedes saber dónde faltan funciones u objetos no identificados en el sistema.
No, no hacemos esto. Y en mis 30 años de historia en la industria de TI, nunca escuché a nadie haciendo esto.
La única forma en que esto podría ayudarlo a diseñar mejores sistemas es mediante:
- manteniendo la cuenta atrás de la clase ya que es difícil construir el modelo de espuma de poliestireno; y
- minimizando los cambios, ya que actualizarlo sería un dolor serio en la parte trasera.
Aparte de esas dos características dudosas, no puedo ver esto como muy útil. Casi concluiría que fue una especie de broma. Es mucho mejor hacer un trabajo real, creo.
En serio, si tratáramos de modelar nuestra aplicación con vasos de café styro y sorbetes, nuestros jefes llamarían a los hombres con batas blancas.
No. Mi equipo no hace esto.
Y estoy muy tentado de burlarme con las macros de imagen. Pero estoy pensando que la idea es tan tonta como para burlarse de uno mismo.
Y pensé que UML era inútil. El modelo de pelota de espuma de poliestireno hace que UML luzca positivamente elegante en comparación.
La idea de la tarjeta CRC de Ward Cunningham es más útil, incluso más barata, y aún conserva la calidad táctil que el Dr. Love buscaba.
Nunca había oído hablar de la idea hasta que leí esta pregunta. Merece un voto por la originalidad. Y las imágenes de "Windows" y "Lotus Notes" no tienen precio.