One-dimensional design methods focus on one way of looking at data and control relationships in a design. Structured design concentrates on top-down, or vertical relationships. Data flow diagrams concentrate on horizontal relationships, in which the output from one computation flows to the next computation to be done. Two-dimensional design allows the simultaneous consideration of both the functional abstraction of vertical designs and the complex data sharing of horizontal designs through the use of functional and environmental models. The basic defects of one-dimensional approaches are described, followed by a description of a two-dimensional method. The method includes guidelines for transforming a one-dimensional design to a two-dimensional design.