Publisher's Synopsis
This 3rd-year undergraduate text explains major paradigms that automate software development. It does so by integrating practical results from software design, relational databases, and category theory - a simple and profound theory about structures and transformations.