with data assist, you will need to use the manage relational table behavior to assign the Size and color options to the product.
the Data Assist manage relational table behavior is used for managing your linking table (productoptions) to create the many to many relationship.
where you have a different weight for the sizes, you will need to add a new column for optionsWeight to the productoptions table.
Andrew reed posted this tutorial for working with the manage relational table behavior:
for eCart and product sizes, see the "Product Options with eCart" tutorial on the eCart support page:
the first section deals with options that do not change the price, the second section deals with products that do effect price.
The add to cart button will not support options using a button, only a select list or a checkbox. we cannot offer support for sing a button for the options.