软件(架构)设计培训心得总结
?
?
由于这两个关键的东西,所以我认为架构分析、设计中最重要的图是:
1、? 领域模型、概念类、数据字典;
2、? 鲁棒图、协作图、状态图
其他什么用例图、时序图、活动图都是为了辅助分析、理解的。
?
架构设计其实就是不断的通过分析,不断的深入理解业务和系统,然后得到较高层次的解决方案。
架构设计其实就是从多维度、多角度进行抽象
架构设计中难把握的两样东西:
1、 粒度
2、 抽象层次
?
我觉得架构设计中抽象的最低层次应该是:组件、一个小功能、一个处理流程、一个线程,不要再往下细分设计咯。
?
架构设计需要注意事项:
软件需求一般包括:功能性需求、非功能性需求【包括约束和质量性需求】,
1 、功能性需求是最容易变化的,架构设计中,从一开始用例场景到最后,都应该思考很容易改变。
2 、约束会影响架构和功能,所以从一开始就要尽量弄清楚所有约束
?
附 4+1 视图:
?
4 :
过程视图:其实就是组件图,组件之间的交互
开发视图:其实就是技术选型、分层,关注点分离、复用、公用。【常见的:内核层、 Framework 层(业务无关)、业务公用 API 层、业务中各种应用(管理系统、 WebService 、客户端 .. )】
?
逻辑视图【这个没什么好说的】
部署视图【这个没什么好说的】
?
1 :用例视图【这个没什么好说的】