Nowadays, the applications of applying the Internet-of-Things are emerging in many fields. During this innovation process, the requirements are inevitably volatile, and the technologies of the cloud and the mobile computing are also evolving fast, consequently many new issues about the software engineering remain to be resolved and optimized. This paper presents a tangible, feasible approach to answer the issues from the requirement solicitation, the software architecture and its associated tool-chain, to the integration tests, and arguably it aims to be the development reference for the practitioners and leaving the potential research questions to the academicians' further studies.