- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件体系结构论文 软件架构论文:
非功能需求对计算机软件体系结构的影响
摘 要: 非功能需求在架构的制定过程中具有可观的影响力,它是软件设计中不可忽视的重点和难点。
关键词: 架构设计;客户;软件工程
1 引言
软件的发展离不开幕后众多的编程人员、测试人员、文档撰写员,需求分析师、系统工程师、软件架构师等。在IT界,软件架构师是丰富软件项目经验及具有广博而精钻技术知识的象征。
软件架构师在软件工程的生命周期中,起着承上启下的关键作用。一名好的软件架构师的知识结构中,需要具备系统开发全过程的经验,对于IT建设生命周期各个环节有深入了解,其中包括:系统/模块逻辑设计、物理设计、代码开发、项目管理、测试、发布、运行维护等;需要深入掌握一到两种主流技术平台上开发系统的方法;了解多种应用系统的结构;了解架构设计领域的主要理论、流派、框架。另外,在业务知识领域中,架构师也要十分清楚并深入了解系统建设的业务需求;了解系统的非功能需求和运行维护需求;了解企业IT公共设施、网络环境、外部系统。图1中列举了架构师的基本知识结构,其中,涉及到了非功能需求。顾名思义,此需求乃软件功能需求以外的需求,用“非功能需求”来概括之,便是它难以全面概括的事实。
2 概念
在系统工程和需求工程中,非功能需求(Non-functionalRequirement,NFR)确定了衡量的尺度,用于对系统运行的判断,而不是具体的系统行为。可以这样理解,非功能需求是指软件产品为满足用户业务需求(即功能需求)而必须具有且除功能需求以外的特性。
比如设计一款手机,那么,这个手机必须要满足的功能需求就包括打电话、发短信、手机上网等。但是,在设计的过程中,也同样不能忽略的是:它是否易用(是否要仔细阅读说明书才可以使用);它的性能(储存空间大小、电池寿命长短、待机时间长短);它的外观(美观、时尚、大方,能否抓住消费者的心理)。这些不能忽略的内容便构成了非功能需求。手机的特性类似软件的非功能需求,虽然与其功能不直接相关,但是都会左右消费者的选购。
软件工程与建筑工程非常类似,软件系统的需求种类也不少,如图2所示。既然有非功能需求,便有功能需求。功能需求是大家比较熟悉的一类需求。功能需求描述要开发的软件系统应该做什么,它可以包括为用户提供哪些服务,也可以包括本系统为其他系统提供哪些服务。
非功能需求中分为质量属性和约束。约束需求规定了开发软件系统时必须遵守的限制条件。例如,要采用什么操作系统,要采用哪种开发技术,是否需要与遗留的老系统进行互操作等。当然,还要考虑软件用户所在的行业中必须遵守的法律法规、政策方针和行业标准、企业标准。质量属性作为非功能需求的一个分支,同样包含众多内容。例如性能、安全性、易用性、可靠性等众多属性如何分类的问题。如图3所示,将软件质量的属性分类为“产品修改”、“产品改型”和“产品操作”,其中包含了相对应的质量属性。
事实上,这样的分类模型存在着一个缺点,即关注了产品的本身,而忽略了软件产品在开发过程中所存在的非功能需求。例如,软件开发中的代码可重用性、代码的易理解性等等。
鉴于此,非功能需求中的质量属性也可以从如此的角度进行分类:“运行期质量属性”和“开发期质量属性”。运行期质量属性是软件系统在运行期间,最终用户可以直接感受到的一类属性;开发期质量属性包含和软件开发、维护和移植这3类活动相关的所有质量属性。
3 来源
有人把需求喻为软件开发的起跑线,需求工程是否顺利和成功,能够为软件的最终成功奠定扎实的基础。调研完成的需求可能与相关领域紧密结合,则需要了解这些领域背景;需求可能来自于多方,则需要征求和总结各种想法和意见等等。可以根据图2的分类方法,将软件的需求细分到功能需求和非功能需求,其中非功能需求包含了质量属性和约束。再考虑需求提出的不同级别,可以得到软件需求空间分割。
4 功能需求与架构设计
功能需求是重要的,它们包含了几乎所有用户所要求实现的业务逻辑。当然,非功能需求也同样是决定架构成功与否的关键因素。软件客户不能严格区分什么是功能需求,什么是非功能需求。事实上,非功能需求中的质量属性与约束是一个复杂的问题。
(1)功能需求影响架构,架构必须要适应功能需求。但是功能需求不会决定架构,是否基于接口编程还是硬编码实现功能,是否要分层等等问题都不是功能需求所能单独确定的。
(2)质量属性会从根本上影响架构。例如,非常强调性能的系统软件会在算法实现上下足功夫,而左右在架构设计中是否避免了性能的损失。
(3)至于约束,它或作为架构设计的限制条件,或转变为功能需求,或转换为质量属性。
5 主要内容客
户要功能也要质量。比较功能需求与非功能需求,相对而言,客户比较擅长提出功能需求。这是所熟悉了解的业务领域内的知识范畴,而且都是经过大量的实践操作。然而对
您可能关注的文档
最近下载
- 人教版二年级上册数学全册教学设计(配2025年秋新版教材).docx
- 2024-2025学年北京市东城区高三上学期期末统一检测语文试卷含详解.docx VIP
- 射血分数保留心衰(HFpEF)的临床诊治题库答案-2025年华医网继续教育.docx VIP
- 《景观设计概述》课件.ppt VIP
- 浙江宁波国际投资咨询有限公司招聘笔试题库2025.pdf
- 悬浮床渣油加氢工艺研究.docx VIP
- Unit 1 Letters in Our life(课件)教科版(2024)英语三年级上册.pptx VIP
- 2025云南电网有限责任公司社会招聘9人(第三批)笔试备考题库及答案解析.docx VIP
- 《电子政务协同办公系统电子文件应用与管理技术要求》.doc
- 2024年南京工业职业技术大学单招语文考试试题及答案解析.docx VIP
文档评论(0)