This third volume examines the basic principles and techniques of overall software development, from domains via requirements to software designs, advocating a novel approach to software engineering based on the adage "Before requirements can be formulated one must understand the application domain."