This paper proposes a framework for rigorous software development, which is based on stepwise design by refinement and composition by software reuse. In this framework, the authors integrate logic-and transition system-based formal method with visual formalisms,and get a reasonable compromise between creativity and calculus in software development.A set of computer aided tools has been built to support the approach in this paper.