S>А вот Вы как бы подошли к решению такой задачи? С чего бы начали?
А задачи я не увидел. Было абстрагирование от задачи с определениями её в терминах ООП. Об этом я уже упомянул выше.
Архитектуру лучше сразу закладывать конечную, но такую, чтобы можно было контроллировать развитие продукта на любой стадии. Я так понял Вашу цель. Для этого курим Итеративную Разработку. При том, что и архитектуру поначалу тоже не стоит продумывать досконально — только в общих чертах, кроме особо критичных участков. Т.е. если в одном модуле Вы продумали архитектуру и подтвердили её прототипами, то похожую архитектуру в другом модуле на первой стадии можно просто обозначить.
Сейчас водопадные гуру начнут кидать в меня яйцы.

... << RSDN@Home 1.2.0 alpha rev. 787>>