Re: Мозаика
Уважаемый Аюпов Роман Шамильевич пишет:
>Доброго времени суток, всем!!
>
>Постановка задачи: Решил написать программулину, напоминающую мозаику,
>т.е. должно быть графическое поле и панелька с фигурками, из которых я
>собираю, что хочу, перетаскивая их на это поле (полный драг энд дроп
>:)), и в БД храню координаты каждой фигуры и как они там между собой
>состыковываются. Надеюсь объяснил......
>А что собственно мне нужно??: хочу услышать ваши идеи :)
>
>
Сначала нужно позадавать себе много "глупых" вопросов: на "чем" писать
(имеется в виду язык и оболочка); как, собственно, будет выглядеть
картинка (интерфейс); раз Вы уже решили, что требуется БД - решите,
какую БД строить и какую структуру данных разрабатывать. Могут быть еще
вопросы, но я, лицо непосвященное в причины возникновения такой задачи,
своим непросвещенным умом их не охвачу. Потом нужно выбрать технологию
разработки. Сам я более-менее знаком и обычно использую нисходящую
разработку со структурным подходом. То есть я бы сначала в достаточно
сжатом виде сформулировал бы задачу, затем составил формулировки
составляющих ее отдельных относительно независимых задач, а потом то же
самое делал бы с этими самыми вновь сформулированными задачами меньшего
масштаба и т. д. Получается такая себе древовидная структура ("корешком
вверх"). (При случае отмечу, что в серьезных больших делах она,
называемая "схемой структуры иерархии", позволяет "чужому
дяде-заказчику" контролировать ход выполнения работы.) Потом мне бы
пришлось разработать структуру данных для БД и для программы, а также
построить псевдокод для каждого блока схемы структуры иерархии.
Псевдокод - это "естественноязыковое" текстовое описание
соответствующего модуля программы, построенного в соответствии с
определенной дисциплиной. Крайне вульгарно, но невероятно точно можно
сказать, что псевдокод - переведенный, например, на русский язык
исходный код указанного модуля на языке Python, изображенный графически
с сохранением формата, принятого в языке Python. Ну а затем я должен был
бы посоставлять уже на настоящем выбранном языке программирования
заглушки на все такие модули, кроме корневого, "вызывающего". Заглушка -
это такая "игрушечная" подпрограмма - простенькая "карикатура" на
требующийся модуль. Потом нужно писать исходный код на все выделенные
таким образом модули, причем делать это в порядке, определяемом
следованием соответствующих блоков в схеме структуры иерархии. При этом
нереализованные пока модули подменяются заглушками. Это дает возможность
отлаживать программу одновременно с ее написанием, не увеличивая
чрезмерно уровня сложности. Должен отметить, что это - довольно старая
технология. Блокам схемы структуры иерархии на начальных, "верхних"
уровнях могут соответствовать на модули, а формы с виджетами,
соответствующими вызываемым задачам ближайшего "нижнего" уровня. Когда
очередной модуль отлажен на "заглушках", можно кодировать и отлаживать
модуль, соответствующий какой-либо из этих заглушек. Если Вам кажется,
что все, что я тут изложил - слишком большая тягомотина и геморрой -
обратитесь к новейшим "метОдам", например, UML. Искренне Ваш, Приходько.