Skip to Main Content
Decomposition is a common practice in design of technical systems to manage abstractions and to create components that can be developed separately. However, the hierarchical decomposition methods used in current software design are unable to control the dependency and provide the traceability of decisions effectively. As the difficulty of software systems rises along with increasing demands for more function, lower cost, higher quality and shorter delivery time, this shortcoming has become a major challenge in the software design community. One reason for this shortcoming is the failure of clearly differentiating between the functional and physical notions during the design process. To remedy this deficiency, we employ the axiomatic design (AD) theory developed from engineering design to augment object-oriented software design. This paper explains the features of axiomatic design approach and compare it with traditional software design methods. A case study that compares our proposed AD-based software design results with that from traditional object-oriented design approaches is included to demonstrate its applications and benefits in software design. The results show that explicitly managing functional dependencies at early design stages and focusing on decision traceability along the design process can lead to better software systems with higher quality and maintainability.