软件系统体系结构的多维视图在不同语境下的辨析
软件系统体系结构的多维视图在不同语境下的辨析
一、软件系统体系结构多维视图
对于同一个软件系统,不同人员的关注点不同,例如用户关心软件的功能,而系统工程师关心软件如何部署,因此软件系统的体系结构是一个多维的结构,在软件开发过程中会使用多个视图来描述软件体系结构。
二、统一过程模型(RUP)
软件统一过程模型(Rational Unified Process,RUP)是Rational软件公司创造的软件工程方法,描述如何利用商业、可靠的方法开发软件。
在RUP中采用4+1视图描述软件体系结构,分别为用例视图、逻辑视图、实现视图、进程视图和部署视图。
2.1用例视图
用例视图关注软件系统的行为,关系对象为系统分析人员和测试人员。
2.2逻辑视图
逻辑视图关注系统的功能,所以用户更为关注。
2.3实现视图
实现视图关注软件的功能如何实现,因此关注对象为程序员。
2.4进程视图
进程视图关注系统在运行过程中的性能、可伸缩性等问题,所以系统集成人员更为关心。
2.5部署视图
部署视图关注系统的发布、安装等问题,关注对象为系统工程师。
三、统一建模语言(UML)
在目前软件开发方法中,面向对象的软件开发方法占据着主导地位,UML(Unified Modeling Language,统一建模语言)是面向对象方法的标准建模语言,在1999年底,UML占据面向对象技术市场的90%,成为可视化建模语言事实上的工业标准。
UML中也使用5种视图描述软件系统,分别为用例视图、逻辑视图、实现视图、进程视图和部署视图,名称与RUP中的4+1视图一致,只是各视图的描述细节和关注人员有所不同。
3.1用例视图
用例视图描述系统的功能需求,关注对象为用户、分析人员、设计人员、开发人员和测试人员。
3.2逻辑视图
逻辑视图描述如何实现系统内部的功能,展现的是软件的静态结构。
3.3实现视图
实现视图描述系统的构件和构件间的依赖关系,关注对象为设计人员、开发人员和测试人员。
3.4进程视图
进程视图描述系统的并发性,所以系统开发人员和集成人员更为关心。
3.5部署视图
部署视图描述系统软硬件的物理体系结构,关注对象为系统开发人员、集成人员和测试人员。
四、软件架构设计
软件架构设计中,也使用多视图描述软件系统的体系结构,典型的多视图是4+1模型,即:逻辑视图、开发视图、进程视图、物理视图,加上统一的场景。这里的4+1模型与RUP中的4+1视图本质上相同,只是名称有所差别。
4.1统一的场景
场景,作为系统重要活动的抽象,使4个视图有机地联系起来。
4.2逻辑视图
逻辑视图,也称设计视图,主要描述系统的功能需求。
4.3开发视图
开发视图,也称模块视图、实现视图,描述系统的模块组织和管理。
4.4进程视图
进程视图,也称过程视图,描述系统的性能和可用性等非功能需求。
4.5物理视图
物理视图,描述系统软件如何映射到硬件上,主要考虑系统安装等问题。
五、基于体系结构的软件设计(ABSD)
基于体系结构的软件设计(Architecture-Based Software Design,ABSD),是先定义软件系统的整体结构,再指导后续的详细设计与实现。
ABSD是一个自顶而下,递归细化的方法,它先将系统分解为若干个概念子系统和软件模板,逐层细化,直到产生构件和类。
ABSD中的视图有4类,分别为逻辑视图、实现视图、进程视图和配置视图。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)