Core Software Design Principles
Software architects and developers leverage a core set of design principles that have been established by professionals over the course of many years. Many of these principles are foundational to the most well-known software design patterns. While a software system may have its own set of unique principles to guide its design, we believe that all systems can benefit from the use of this core set.
Template - Software Requirements Specification (SRS)
Template (outline) for a Modern Solution Requirements Specification derived from the book "Managing Software Requirements" (Leffingwell, Wildrig)