The purpose of this paper is to suggest a methodology for designing multiplex system software and defining the operational requirements of its hardware. The methodology will only study here the design phase of the software development cycle, a later paper will propose a complete design method. The goal of the methodology is to create reusable system objects which can be used again in future system applications. Reusing these objects in other systems will reduce the cost of multiplex system development. Cost savings will also result from decoupling the software from the hardware so software development can commence long before the hardware design has been completed and, using library objects that have previously been tested and proven to be reliable so software bugs are less likely to occur.