软件的架构设计对于项目的成功有否有很重要的影响,一般的软件架构设计过程:
1、确定系统涉及的多个方面内容:
Type of application to be built. (Web, RIA, RichClient…) 应用类别
Logical structure of the application (N-Layers, Components, etc…) 应用的逻辑结构
Physical structure of the application (Client/Server, N-Tier, etc…) 应用的物理结构
Risks to be faced, and how. (Security, Performance, Flexibility, etc…) 应用的风险和解决方法,如安全、性能、扩展性
Technologies to be used (WCF, WF, WPF, Silverlight, ASP.NET, Entity Framework, etc...) 使用技术选择
2、使用如下的一些方法获取软件需求
User stories or use cases . 故事或用例
Functional and non-functional requirements. 功能和非功能需求
Overall technological and design restrictions. 技术和设计限制内容
Proposed deployment environment. 部署环境
3、架构设计过程中,需要至少完成如下的一些工作
Significant use cases to be implemented. 重要的用例实现
Risks to be mitigated and how. 风险和解决方案
Potential architectures to be implemented 完成的可能的架构
整个的软件架构设计过程图如下:
4、架构设计过程还涉及一个重要的内容,领域驱动的设计,需要领域专家的参与,实现领域特定的要求,如下图
详细参考资料: