It is difficult to solve an optimization problem in smart devices software due to a trade-off relation between quality conditions and performance properties. Furthermore, development cost of complicated software is on the increase by fragmentation of devices into the small size. In this paper, we propose the design processes and methods reflecting diverse of flexible elements including physical features such as low-power and high-performance, co-design of hardware and software, and restricted resources usage. Our methods can establish the optimized self-adaptive design by reflecting the quality properties and performance requirements for applications working on systems, monitoring system's states in real-time, and customizing with the most proper design properties.