Exploring the transition from the analysis to the design phase of software development using the technique of reverse engineering
The software development life-cycle is comprised of a series of successive activities consisting of analysis, design, implementation, system testing and maintenance. During the analysis phase we do planning and requirements definition for the software product. The design phase, which follows the analysis phase, is concerned with deciding exactly how the software will be implemented. However, the actual transition from the analysis to the design phase is not well documented. There exists an information gap between these two phases.In this study, the transition from the analysis to the design phase is explored by using the reverse engineering method which essentially proceeds from the design phase back to the analysis phase. This study is based on the design of an approximately five thousand line project - an Executive Calendar, which is first designed using a computer-aided software engineering (CASE) tool called DesignAid. The transition is documented in order to exploit the isomorphisms between each phase.The end results show that by documenting the mapping between the analysis phase and the design phase, the process of transition from one phase to another could be partly automated. By using the reverse engineering method, the elements which are necessary in the transition between the analysis and the design phase can be easily identified. Being able to identify these elements, one can reduce the amount of effort required to transform user requirements to design, and thus improve software productivity.