This paper discusses aspects of software engineering and design methodology to be used for development of software using Ada for an existing C-141B Operational Flight Trainer (OFT). The OFT software was originally developed using FORTRAN 77 as the implementation language. The paper describes the application of software engineering concepts such as abstraction, information hiding, modularization and generalization, and the development of a methodology for generating a program design based on these concepts. Also described are problems with the traditional object-oriented design (00D) methodology, and attempts to front-end OOD with a functional, decomposition technique for generating the system design. Changes are proposed to the OOD process to incorporate solutions for these problems. The methodology described is applicable to the development of software for any type of training device.