This book has aimed to study the representation, capture, learning, re-use and re-engineering of domain-specific software design and requirements analysis knowledge in the domain of software engineering. It discusses the importance of all three domains concern that includes the view on to the systems, the system components and the development process, that reflect numerous approaches, models, and specification techniques. The author introduces to SE3 the three-degree freedom to software requirements management and release management. That will form the basis of the software re-engineering approach, underlying formalisms of Release Management using efficient Requirement Engineering, tying it all together, an application of software re-engineering approach, results, and followed by conclusions.