软件体系结构论文 软件架构论文:非功能需求对计算机软件体系结构的影响

软件体系结构论文 软件架构论文:非功能需求对计算机软件体系结构的影响

ID:18259318

大小:200.50 KB

页数:7页

时间:2018-09-16

软件体系结构论文 软件架构论文:非功能需求对计算机软件体系结构的影响_第1页
软件体系结构论文 软件架构论文:非功能需求对计算机软件体系结构的影响_第2页
软件体系结构论文 软件架构论文:非功能需求对计算机软件体系结构的影响_第3页
软件体系结构论文 软件架构论文:非功能需求对计算机软件体系结构的影响_第4页
软件体系结构论文 软件架构论文:非功能需求对计算机软件体系结构的影响_第5页
资源描述:

《软件体系结构论文 软件架构论文:非功能需求对计算机软件体系结构的影响》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、软件体系结构论文软件架构论文:非功能需求对计算机软件体系结构的影响摘要:非功能需求在架构的制定过程中具有可观的影响力,它是软件设计中不可忽视的重点和难点。关键词:架构设计;客户;软件工程1引言软件的发展离不开幕后众多的编程人员、测试人员、文档撰写员,需求分析师、系统工程师、软件架构师等。在IT界,软件架构师是丰富软件项目经验及具有广博而精钻技术知识的象征。软件架构师在软件工程的生命周期中,起着承上启下的关键作用。一名好的软件架构师的知识结构中,需要具备系统开发全过程的经验,对于IT建设生命周期各个环节有深入了解,其中包括:系统/模块逻辑设计、

2、物理设计、代码开发、项目管理、测试、发布、运行维护等;需要深入掌握一到两种主流技术平台上开发系统的方法;了解多种应用系统的结构;了解架构设计领域的主要理论、流派、框架。另外,在业务知识领域中,架构师也要十分清楚并深入了解系统建设的业务需求;了解系统的非功能需求和运行维护需求;了解企业IT公共设施、网络环境、外部系统。图1中列举了架构师的基本知识结构,其中,涉及到了非功能需求。顾名思义,此需求乃软件功能需求以外的需求,用“非功能需求”来概括之,便是它难以全面概括的事实。2概念在系统工程和需求工程中,非功能需求(Non-functionalReq

3、uirement,NFR)确定了衡量的尺度,用于对系统运行的判断,而不是具体的系统行为。可以这样理解,非功能需求是指软件产品为满足用户业务需求(即功能需求)而必须具有且除功能需求以外的特性。比如设计一款手机,那么,这个手机必须要满足的功能需求就包括打电话、发短信、手机上网等。但是,在设计的过程中,也同样不能忽略的是:它是否易用(是否要仔细阅读说明书才可以使用);它的性能(储存空间大小、电池寿命长短、待机时间长短);它的外观(美观、时尚、大方,能否抓住消费者的心理)。这些不能忽略的内容便构成了非功能需求。手机的特性类似软件的非功能需求,虽然与其

4、功能不直接相关,但是都会左右消费者的选购。软件工程与建筑工程非常类似,软件系统的需求种类也不少,如图2所示。既然有非功能需求,便有功能需求。功能需求是大家比较熟悉的一类需求。功能需求描述要开发的软件系统应该做什么,它可以包括为用户提供哪些服务,也可以包括本系统为其他系统提供哪些服务。非功能需求中分为质量属性和约束。约束需求规定了开发软件系统时必须遵守的限制条件。例如,要采用什么操作系统,要采用哪种开发技术,是否需要与遗留的老系统进行互操作等。当然,还要考虑软件用户所在的行业中必须遵守的法律法规、政策方针和行业标准、企业标准。质量属性作为非功能

5、需求的一个分支,同样包含众多内容。例如性能、安全性、易用性、可靠性等众多属性如何分类的问题。如图3所示,将软件质量的属性分类为“产品修改”、“产品改型”和“产品操作”,其中包含了相对应的质量属性。事实上,这样的分类模型存在着一个缺点,即关注了产品的本身,而忽略了软件产品在开发过程中所存在的非功能需求。例如,软件开发中的代码可重用性、代码的易理解性等等。鉴于此,非功能需求中的质量属性也可以从如此的角度进行分类:“运行期质量属性”和“开发期质量属性”。运行期质量属性是软件系统在运行期间,最终用户可以直接感受到的一类属性;开发期质量属性包含和软件开

6、发、维护和移植这3类活动相关的所有质量属性。3来源有人把需求喻为软件开发的起跑线,需求工程是否顺利和成功,能够为软件的最终成功奠定扎实的基础。调研完成的需求可能与相关领域紧密结合,则需要了解这些领域背景;需求可能来自于多方,则需要征求和总结各种想法和意见等等。可以根据图2的分类方法,将软件的需求细分到功能需求和非功能需求,其中非功能需求包含了质量属性和约束。再考虑需求提出的不同级别,可以得到软件需求空间分割。4功能需求与架构设计功能需求是重要的,它们包含了几乎所有用户所要求实现的业务逻辑。当然,非功能需求也同样是决定架构成功与否的关键因素。软

7、件客户不能严格区分什么是功能需求,什么是非功能需求。事实上,非功能需求中的质量属性与约束是一个复杂的问题。(1)功能需求影响架构,架构必须要适应功能需求。但是功能需求不会决定架构,是否基于接口编程还是硬编码实现功能,是否要分层等等问题都不是功能需求所能单独确定的。(2)质量属性会从根本上影响架构。例如,非常强调性能的系统软件会在算法实现上下足功夫,而左右在架构设计中是否避免了性能的损失。(3)至于约束,它或作为架构设计的限制条件,或转变为功能需求,或转换为质量属性。5主要内容客户要功能也要质量。比较功能需求与非功能需求,相对而言,客户比较擅长

8、提出功能需求。这是所熟悉了解的业务领域内的知识范畴,而且都是经过大量的实践操作。然而对于非功能需求却并不是如此,不可能对于每个客户都要求他们了解和掌握需求工程。所以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。