Designing the Requirements: Building Applications that the User Wants and Needs (Paperback)

Chris Britton



Too many software applications don’t do what’s needed or they do it clumsily, frustrating their users and owners. The core problem: poorly conceived and poorly crafted requirements. In Designing the Requirements, Chris Britton explains why it’s not enough to simply “gather” requirements—you need to design them.


Britton offers powerful techniques for understanding stakeholders’ concerns and working with stakeholders to get the requirements right. Using Britton’s context-driven approach to requirements design, you can detect inconsistencies, incompleteness, poor usability, and misalignment with business goals upstream—long before developers start coding. You can also design outward-looking applications and services that will integrate more effectively in a coherent IT architecture.


First, Britton explains what requirements design really means and presents a hierarchy of designs that move step by step from requirements through implementation. Next, he demonstrates how to build on requirements processes you already use and how to overcome their serious limitations in large-scale development. Then, he walks you through designing your application’s relationship with the business, users, data, and other software to ensure superior usability, security, and maximum scalability and resilience.


Whether you’re a software designer, architect, project manager, or programmer, Designing the Requirements will help you design software that works—for users, IT, and the entire business.


Coverage includes

  • Designing the entire business solution, not just its software component
  • Using engineering-style design analysis to find flaws before implementation
  • Designing services, and splitting large development efforts into smaller, more manageable projects
  • Planning logical user interfaces that lead to superior user experiences
  • Designing databases and data access to reflect the meaning of your data
  • Building application frameworks that simplify life for programmers and project managers
  • Setting reasonable and achievable goals for performance, availability, and security
  • Designing for security at all levels, from strategy to code
  • Identifying new opportunities created by context-driven design


許多軟體應用程式要麼無法滿足需求,要麼執行得笨拙,讓使用者和擁有者感到沮喪。核心問題在於需求的構思和製作不佳。在《設計需求》一書中,Chris Britton解釋了僅僅「收集」需求是不夠的,你需要對其進行設計。





- 設計整個業務解決方案,而不僅僅是其軟體組件
- 使用工程式設計分析在實施之前找出缺陷
- 設計服務,並將大型開發項目拆分為更小、更易管理的項目
- 計劃邏輯使用者界面,以實現卓越的使用者體驗
- 設計數據庫和數據訪問,以反映數據的含義
- 構建應用程式框架,簡化程式設計師和專案經理的工作
- 設定合理且可實現的性能、可用性和安全性目標
- 從策略到程式碼的各個層面進行安全設計
- 確定由上下文驅動設計所創造的新機會