Abstract:As software systems and their operational environments become more and more complex, the topic of software dependability has attracted more and more attention. The software analysis and design are both required to focus on the functionality and the dependability. However, there still lacks an effective approach to consider the functionality and the dependability simultaneously during software analysis and design. Based on cybernetics, this paper proposes a “use case+control case” driven approach for software analysis and design, which aims to address the software functionality and dependability under a unified framework. During requirements analysis, the “use case+control case” model supports the co-modeling of the functional requirements and the dependability requirements. During system design, the design techniques proposed by ICONIX approach are extended to identify the functionality objects that realize the use cases, and the dependability objects that realize the control cases. A case is also used to illustrate the feasibility of the proposed approach.