A Hacker's Guide to Project Management, Second Edition

The Design Report communicates the architecture and design of the system to several technical audiences, including developers, maintainers, technical reviewers, and those responsible for the computing infrastructure. It should include the following:
The scope and objectives of the system.
References, and a description of related documentation and its location. Part of the documentation may be held in CASE tools. If so, describe where and how.
Assumptions, constraints and architecturally significant requirements. The architecture and high-level design are a response to these. Include any assumptions you have made about ambiguous requirements or unresolved issues . Also include a Use Case model and introduction to the major business concepts.
A design overview. The first part explains the technical implications of the objectives and constraints, and then explains how the architecture meets the objectives, with any known strengths or weaknesses. An introduction to the architecture will include reference models (e.g. client-server with relational database), metaphors, standards adopted, impact of the project structure, and choices of toolset and underlying software (e.g. operating system and database).
The next part is the logical component structure, which summarises the subsystems and their responsibilities. A good format is a UML package model with a paragraph or two of explanatory text for each subsystem.
The component model describes physical components. A good format is a UML component diagram with some explanatory text.
Physical models of the system may include a hardware model, showing host and client machines and major networking...