5视图法可以帮助软件架构师以不同的视角对软件的各个方面的属性:功能需求,约束,运行期质量属性,开发期质量属性。
1、 逻辑架构:逻辑架构关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的“辅助功能模块”——。
2、 开发架构:开发架构关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK和现场框架、类库,以及开发的系统将运行于其上的系统软件或中间件。关注编译时刻的静态依赖关系。
3、 运行架构:运行架构关注进程、线程、对象等运行时概念,以及相关的并发,同步,通信等问题。运行架构关注运行期间各个单元的交互。
4、 物理架构:物理架构关注“目标程序及其依赖的运行库和系统软件”最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性,可伸缩性等要求。
5、 数据架构:数据架构关注持久化数据的存储方案,不仅包括实体及实体关系的存储格式、还包括数据传递,数据复制,数据同步等策略。
1.系统架构图是个统称,其实包括逻辑架构图、部署架构图、运行架构图、网络架构图等。因此系统架构图是个比较广泛的概念。2.逻辑架构图一般说的某个软件系统的内部包、类、对象之间的逻辑关联关系,如继承、泛化、关联等。3.部署架构图描述的是一个软件部署到现实环境的布置情况,因此一般在图形上是表示软件的某个部分、组件在对应硬件环境下的物理与调用关系。如分布式系统,这个图是肯定需要绘制的。这些图的理解,关键是要自己去动手绘制才会加深理解,你可以多看看别人的图。希望对你有帮助!如何进行系统的架构设计
方法/步骤一个软件项目在需求确定后,就可以开始系统的架构设计了。架构设计不同于编写代码,需要遵循严格的语法和编程规范。它没有规范可遵循,存在即合理,适合系统开发和运行的架构就是最合理的系统架构。
系统的架构设计是在业务需求已经清晰的前提下进行的,假定在系统需求分析阶段已经确定了系统的功能和业务范围,也明确了系统运营需求。在上述需求还没有确定的情况下,不适宜开展系统的架构设计,需要回到需求分析阶段完善上述需求后再开展系统的架构设计。
系统架构就是一些模型图,模型图是人们用来理解系统和沟通的工具。这些模型图需要提供给系统相关干系人来理解系统,系统相关干系人有项目经理、产品经理、开发人员、系统运营维护人员、客户、项目投资人等。这些干系人有不同的知识背景,对同一架构模型图也会有不同的认知和理解:如果把开发架构模型图给产品经理或客户看,他们定然看不懂也不能理解;同样的道理,如果只把逻辑架构图给开发人员看,就不能正确地指导开发人员构建开发环境。
因此架构设计师在进行系统架构设计时,需要从系统的不同维度进行设计,以满足系统相关干系人理解系统架构的需求。架构设计模型主要有逻辑架构、开发架构、数据架构、物理架构和运行架构五种模型图。一般来说需要设计的系统架构模型有逻辑架构、开发架构和物理架构三种架构模型图。数据架构模型一般放在数据库中进行设计,运行架构和物理架构基本相近,只是在物理架构中加了数据的流向,因此一些系统设计使用物理架构代替了运行架构。
设计逻辑架构模型
逻辑架构模型主要是确定系统的功能范围和系统划分。在设计逻辑架构模型时,可以抓住两个关键点:一个关键点是对系统进行逻辑划分,将一个大系统划分为多个子系统;另外一个关键点是明确各子系统之间的协作和调用关系。
绘制逻辑架构的模型图有系统流程图和系统结构图:系统流程图描述了系统各子系统、相关文件和数据之间的关系,记录了整个系统的体系结构;系统结构图也称为层次图,它以层次方式描述了系统从顶层到最底层的功能分解。
下图分别是人脉系统的系统流程图和系统结构图。
上面的人脉系统流程图和人脉系统结构图就是依据人脉系统需求规格说明书给出的功能和业务范围绘制的。
设计开发架构模型
开发架构模型图是给开发人员看的,开发架构模型指导开发人员如何来架构系统的开发环境。开发环境包括系统开发框架的选型、开发工具和编程语言、模块划分等内容。下图是人脉系统开发架构模型图。
开发架构模型图给出了技术体系是B/S结构,开发框架选择SSM,开发语言是JavaEE。系统采用三层结构,分别是表示层、WEB应用层和数据层。表现层是JSP页面,在浏览器中运行,表现层是MVC的View。WEB应用层的控制层是MVC的Controller,业务逻辑层是MVC的Service,实体层是MVC的POJO。数据层由MyBaits数据库开发框架组成。
设计物理架构模型
物理架构模型是给系统部署人员和运营维护人员看的,主要给出系统的部署环境模型,包括网络环境、硬件环境和软件环境。下图是系统部署网络环境模型图。
从上面网络环境模型图中可以看出,系统部署只需要一台主机,要求支持HTTP协议和远程桌面协议。系统可以考虑部署到阿里云或腾讯云。
系统的架构设计主要涉及到三种模型图,分别是逻辑架构模型、开发架构模型和物理架构模型。逻辑架构模型一般采用系统流程图和系统结构图建模;开发架构模型没有标准的模型图,可以使用PPT或Visio绘图工具进行绘制;物理架构模型主要是由网路环境、硬件和软件环境组成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)