架构
一、什么是架构
定义: 架构是有关软件整体架构与组件的抽象描述,用于指导大型软件系统各个方面的设计。如下图:
其中的关键点是相关方的关注点。另外,架构师是做架构设计、对系统架构负责的那个人。架构师是一顶帽子,而不是一把椅子;架构师是一个角色而不是一个职位。
二、如何做软件架构
必备技能,软件建模和设计文档。设计文档主要包括需求设计文档、概要设计文档、详细设计文档,这样主要讨论建模。
1、什么是模型?
模型是一个系统的完整的抽象。人们对某个领域特定问题的求解及解决方案,对它们的理解和认识都蕴含在模型中。通常,开发一个计算机系统是为了解决某个领域特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。在系统开发前,架构师需要对系统有一个完整的模型,即知道要做成什么样,如何保证好扩展。领域问题:理解为现实生活中面对的问题。分析流程:
2、为什么要建造模型?
为了与他人沟通;
为了保存软件设计的最终成果;
前提是模型比代码更说问题。
3、何时、何处建模
三、UML介绍
1、定义。
UML是统一建模语言,以图形的方式描述软件的概念。
UML可以描述如下几个方面:
某个问题领域
构思中的软件设计
描述已经完成的软件实现
2、分类
UML分为静态图和动态图。
a.静态图作用,通过描述类、对象和数据结构以及它们之间存在的关系,来描述要素中不变的逻辑结构。包括 用例图、对象图、类图、组件图、包图、部署图。以用例图为例:
用例可以理解为功能,箭头表示一个用例使用另外一个用例;小人表示一个角色;横线表示角色使用用例。其实单个用例也可以继续拆分为一个用例图。主要是为了角色、用例及用例之间的关系。
b.动态图作用,通过描绘执行流程或者实体煮给你太变化的方式,来展示软件实体在执行过程中的变化过程。包括协作图、序列图、活动图、状态图。
评论