第一周作业总结
一、重点知识总结
1、4+1架构视图
逻辑视图(Logical View),设计的对象模型。
相关方:客户,用户,开发组织管理者。
视角:系统的功能元素,以及它们接口,职责,交互。
主要元素:系统,子系统,功能模块,子功能模块,接口。
用途:开发组织划分,成本/进度的评估。
过程视图(Process View),捕捉设计的并发和同步特征。
相关者:性能优化,开发相关人员。
视角:系统运行时线程,进程的情况。
主要元素:系统进程,线程以及处理队列等。
物理视图(Physical View),描述了软件到硬件的映射,反映了部署特性。
相关者:系统集成商,系统运维人员。
视角:系统逻辑组件到物理节点的物理部署和节点之间的物理网络配置。
主要元素:物理节点以及节点的通信。
开发视图(Development View),描述了在开发环境中软件的静态组织结构。
相关者:开发相关人员,测试人员
视角:系统如何开发实现
主要元素:描述系统的层,分区,包,框架,系统通用服务,业务通用服务,类和接口,
系统平台和相关基础框架。
用途:指导开发组织设计和开发实现
场景视图(scenarios),描述用例场景
相关者:用户,设计和开发人员。
视角:概括了架构上最重要的场景(最典型或者最有风险)及其非功能性需求,通过这
些场景的实现,阐明了架构的广度或众多架构元素运行的方式。
小结:
软件架构就是通过以上各种视图,从不同的角度向不同的人员展现出来软件系统的设计思想,加强不同的人员对架构设计的理解,并指导各方人员对软件架构进行可行性分析讨论。最终确定合理方法,并指导和约束开发人员进行软件系统的开发。
2、UML十图
1、静态图是通过描述类、对象和数据结构以及它们之间存在的关系,来描述软件要素中不变的逻辑结构。
用例图(Use Case Diagrams)
对象图(Object Diagrams)
类图(Class Diagrams)
组件图(Component Diagrams)
包图 (Package Diagrams)
部署图(Deployment Diagrams)
2、动态图是通过描绘执行流程或者实体状态变化的方式,来展示软件实体在执行过程 中
的变化过程。
协作图(Collaboration Diagrams)
序列图(Sequence Diagrams)
活动图(Activity Diagrams)
状态图(State Diagrams)
小结:
UML图是软件开发人员的国际语言,是一种统一的交流工具。需要深入理解并使用。
二、收获
1、通过第一周的学习,加强了自己对软件架构对理解。并且自己虽然以前也画过部分架构图,而且维护过部分框架,但是通过这次学习,规范了自己如何去画架构图和UML图。
2、在这次做作业对过程中,通过画UML各种类型的设计图,我发现可以互相弥补自己设计系统上的漏洞。以前只用过UML画类图,这次使用工具画各种图,充分认识到了UML工具的强大,不仅是拿来和别人交流的工具,也是能帮助自己在设计时使软件架构更加的完善。
版权声明: 本文为 InfoQ 作者【hunk】的原创文章。
原文链接:【http://xie.infoq.cn/article/2c4559d303a14f3b9697f10bc】。未经作者许可,禁止转载。
评论 (1 条评论)