The document describes developing a menu-based shape-maker program in Java that randomly generates four shapes - pyramid, inverted pyramid, diamond, and hourglass - with random sizes and characters. Functions are used to generate random integers within a range and random characters within a range. The shapes are made from a random character and width between 4-12. Captions stating the symbol and width are printed under each shape. Random functions are defined in a separate class file called by the shape maker.