RUP中有四种软件视图,这里复习一下,并根据资料整理一下。
.软件的质量特性分为功能性需求和非功能性需求。
功能需求就是"软件有什么用,软件需要做什么"。同时,注意把握功能需求的层次性是软件需求的最佳实践。
非功能需求分为质量特性和约束,而质量特性又分为运行期质量特性和开发期质量特性。
非功能需求又可以分为如下三类:
- 约束。要开发出用户满意的软件并不是件容易的事,而全面理解要设计的软件系统所面临的约束可以使你向成功迈进一步。约束性需求既包括企业级的商业考虑(例如"项目预算有限"),也包括最终用户级的实际情况(例如"用户的平均电脑操作水平偏低");既可能包括具体技术的明确要求(例如"要求能在Linux上运行"),又可能需要考虑开发团队的真实状况(例如"开发人员分散在不同地点")。这些约束性需求当然对架构设计影响很大,比如受到"项目预算有限"的限制,架构师就不应选择昂贵的技术或中间件等,而考虑到开发人员分散在不同地点",就更应注重软件模块职责划分的合理性、松耦合性等等。
- 运行期质量属性。这类需求主要指软件系统在运行期间表现出的质量水平。运行期质量属性非常关键,因为它们直接影响着客户对软件系统的满意度,大多数客户也不会接受运行期质量属性拙劣的软件系统。常见的运行期质量属性包括软件系统的易用性、性能、可伸缩性、持续可用性、鲁棒性、安全性等。在我们的超市系统的案例中,用户对高性能提出了具体要求(真正的性能需求应该量化,我们的表1没体现),他们不能容忍金额合计超过2秒的延时。
- 开发期质量属性。这类非功能需求中的某些项人们倒是念念不忘,可惜很多人并没有意识到"开发期质量属性"和"运行期质量属性"对架构设计的影响到底有何不同。开发期质量属性是开发人员最为关心的,要达到怎样的目标应根据项目的具体情况而定,而过度设计(overengineering)会花费额外的代价。
RUP的4类软件架构图为
逻辑视图:当采用面向对象的设计方法时,逻辑视图即对象模型。
开发视图:描述软件在开发环境下的静态组织。
处理视图:描述系统的并发和同步方面的设计。
物理视图:描述软件如何映射到硬件,反映系统在分布方面的设计
逻辑视图。逻辑视图关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的"辅助功能模块";它们可能是逻辑层、功能模块等。
开发视图。开发视图关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK和现成框架、类库,以及开发的系统将运行于其上的系统软件或中间件。开发视图和逻辑视图之间可能存在一定的映射关系:比如逻辑层一般会映射到多个程序包等。
处理视图。处理视图关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。处理视图和开发视图的关系:开发视图一般偏重程序包在编译时期的静态依赖关系,而这些程序运行起来之后会表现为对象、线程、进程,处理视图比较关注的正是这些运行时单元的交互问题。
物理视图。物理视图关注"目标程序及其依赖的运行库和系统软件"最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。物理视图和处理视图的关系:处理视图特别关注目标程序的动态执行情况,而物理视图重视目标程序的静态位置问题;物理视图是综合考虑软件系统和整个IT系统相互影响的架构视图。
分享到:
相关推荐
### 运用RUP 4+1视图方法进行软件架构设计 #### 一、引言 在软件开发过程中,架构设计是确保软件系统能够高效、稳定运行的关键环节。随着软件系统的复杂度不断提高,传统的单一视角已经无法满足设计需求。RUP 4+1...
2. RUP 4+1架构视图 RUP是一个面向对象的、基于网络的软件开发方法论。它预定义了角色(如开发者、分析师等)、活动(如分析、设计、编码等)和工件(如需求文档、设计图纸等)。RUP的4+1视图包括: - 逻辑视图:...
《RUP软件架构文档》是基于Rational Unified Process(RUP)的一种软件开发过程中关键的文档,由郑大鹏老师翻译成中文版,为开发者提供了软件架构设计的模板和实例。RUP是一种全面的软件开发过程框架,由IBM公司开发...
《架构蓝图——软件架构4+1视图模型》是由Rational公司的Philippe Kruchten提出的,他在IBM收购Rational公司之前领导了RUP(统一过程)开发团队超过16年,积累了丰富的工业界经验,特别是在电信和空中交通控制系统...
后来,PhilippeKruchten加入Rational,他的4+1视图方法演变为著名的、为许多架构师所熟知的“RUP4+1视图方法”(如下图所示)。概括而言:逻辑视图(LogicalView),设计的对象模型。进程视图(ProcessView),捕捉...
温昱在讲座中引用了Philippe Kruchten提出的RUP4+1架构视图理论,即逻辑视图、开发视图、处理视图和物理视图,每个视图关注系统的一个特定视角。例如,逻辑视图关注系统的职责划分;开发视图关注软件的静态组织;...
软件架构4+1视图模型是一种软件架构设计方法,由IBM开发的Rational Unified Process(RUP)衍生出来的。该方法将软件架构设计分为四个视图,即用例视图、逻辑视图、开发视图和处理视图,另外还有一个物理视图。每个...
6.2 架构视图 – 包和子系统分层 6 6.2.1 <类名> 7 6.2.2 <包名> 7 7. 进程视图 7 7.1 <类图名> 8 7.1.1 <进程元素名> 8 8. 部署视图 8 8.1 <结点名> 9 9. 实现视图 9 10. 大小和性能 9 11. 质量 9
本文由温昱撰写,深入探讨了需求分类及其对架构设计的影响,特别是通过RUP的4+1视图方法,展示了一种系统化的方法来应对需求的复杂性和多样性。 #### 需求的复杂性 软件需求可以分为功能需求和非功能需求两大类,...
它提供了架构视图和架构描述语言来帮助表达和理解系统结构。 8. **变更管理**:RUP提供了处理需求变更的机制,通过变更控制流程来管理变更请求,确保变更不会对项目进度和质量造成不利影响。 9. **风险管理**:RUP...
- **系统架构**:定义软件的基本结构和组件,包括架构视图、设计模式和架构决策记录。 - **需求管理**:收集、分析和管理用户需求,使用需求规格说明书、用例模型等文档。 - **实现**:编写代码,实现设计,通常...
可能涵盖了架构视图、架构决策记录,以及如何评估和选择架构方案,以确保系统的可维护性、可扩展性和性能。 **第七讲 - SOA的业务本质Ver1.5** 服务导向架构(SOA)是现代企业级系统设计的重要模式。这讲可能详细...
2. **系统架构**:这是RUP中的关键部分,涵盖了软件的整体设计,如架构视图、架构描述、架构决策记录等。这些文档用于定义系统的结构和组件,以及它们之间的关系。 3. **实现**:在这一阶段,开发者会根据架构设计...
用例视图是指从用户的角度来描述软件的功能,逻辑视图是指从系统结构的角度来描述软件的架构,过程视图是指从系统性能的角度来描述软件的过程,实现视图是指从编程的角度来描述软件的实现,部署视图是指从系统拓扑的...