软件体系结构的质量特性
软件体系结构5_软件体系结构的质量属性
![软件体系结构5_软件体系结构的质量属性](https://img.taocdn.com/s3/m/dd8b66898ad63186bceb19e8b8f67c1cfad6eeca.png)
软件体系结构5_软件体系结构的质量属性
1. 性能(Performance):性能是衡量软件体系结构完成特定任务所需的时间和资源的能力。
在性能方面,主要关注的指标包括响应时间、吞吐量和资源利用率。
一个好的体系结构应能够支持大规模并发用户使用,而不会因为系统负载增加而导致性能下降。
2. 可用性(Availability):可用性是指软件体系结构在特定时间内处于可操作状态的能力。
可用性主要与系统的可靠性、容错性和可恢复性相关。
一个可靠的软件体系结构应能够及时响应用户需求,并尽量减少停机时间和故障恢复时间,提供稳定、可靠的服务。
3. 可靠性(Reliability):可靠性是指软件体系结构在给定的时间内正确执行其功能的能力。
可靠性与系统的错误率和故障率相关。
一个可靠的软件体系结构应能够预防和容忍异常情况,以确保正确的运行,保证数据的完整性和准确性。
4. 安全性(Security):安全性是指软件体系结构在防止未经授权的访问和保护用户数据等方面的能力。
软件体系结构应能够识别和阻止潜在的安全威胁,如恶意攻击、非法访问和数据泄露等。
安全性要求通常包括认证、授权、加密和审计等功能。
5. 可扩展性(Scalability):可扩展性是指软件体系结构能够在不同规模和负载下进行水平或垂直扩展的能力。
一个可扩展的软件体系结构应能够动态调整资源,并能够在需要时自动增加或减少处理能力,以适应不断变化的用户需求。
总之,软件体系结构的质量属性是衡量软件体系结构能力和性能的关键指标。
在设计软件体系结构时,需要充分考虑这些质量属性,以确保软件能够满足用户的需求,并具有高性能、可靠性、安全性和可扩展性。
软件体系结构5 第5章 软件质量属性
![软件体系结构5 第5章 软件质量属性](https://img.taocdn.com/s3/m/14f4e5eee009581b6bd9ebbd.png)
外部质量
易用性
易用性是指用户使用软件的容易程度。 现代人的生活节奏快,做什么事都想图个方便。所以把易用性作为 重要的质量属性对待无可非议。导致软件易用性差的根本原因 : 理工科大学教育存在缺陷:没有开设人机工程学、美学、心理学这 些必修课,大部分开发人员不知道如何设计易用的软件产品。开发 人员犯了“错位”的毛病:他以为只要自己用起来方便,用户也就 会满意。软件的易用性要让用户来评价。当用户真的感到软件很好 用时,一股温暖的感觉油然而生,于是就用“界面友好”、“方便 易用”等词来评价软件产品。
外部质量
兼容性
兼容性是指不同产品(或者新老产品)相互交换信息的能力。例如 两个字处理软件的文件格式兼容,那么它们都可以操作对方的文件, 这种能力对用户很有好处。兼容性又称为互操作性。 兼容性的商业规则:弱者设法与强者兼容,否则无容身之地;强者 应当避免被兼容,否则市场将被瓜分。金山软件公司的WPS与微 软的Word之争。WPS一定要与Word兼容,否则活不下去。但是 Word绝对不会与WPS兼容,除非WPS又在中国占有绝对优势。 中国联通和中国移动的手机互联互通问题。(互联网的价值与用户 数量的平方成正比)
质量目标与商业目标
质量定义
古时候人们ห้องสมุดไป่ตู้为长得结实、饭量大就是健康,这显然是不科 学的。现代人总是通过考察多方面的生理因素来判断是否健 康,如测量身高、体重、心跳、血压、血液、体温等。如果 上述因素都合格,那么表明这人是健康的。如果某个因素不 合格,则表明此人在某个方面不健康,医生会对症下药。 软件质量是许多质量属性的综合体现,各种质量属性反映了 软件质量的方方面面。人们通过改善软件的各种质量属性, 从而提高软件的整体质量。
响应度量(Response Measure):以某种方式对其进行度量,对 需求进行测试。
软件体系结构的质量特征ISO9126
![软件体系结构的质量特征ISO9126](https://img.taocdn.com/s3/m/e51d41126bd97f192279e918.png)
摘要在软件开发过程中,软件的质量是一个重要的因素,而软件体系结构在整个过程中显得尤为重要。
软件的质量需求是在开发初期的非功能性需求,对软件的体系结构影响很大。
但是并不意味着一味的追求质量,必须在效率和质量之间寻求一个平衡点。
为了实现高的软件质量,软件体系结构必须具有良好地可移植性,可靠性,可维护性,适应性,互用性,组件复用和实时性等方面的要求。
ISO/IEC 9126-1 :软件产品评估—质量特性及其使用指南纲要。
在此标准中,定义了六种质量特性,并且描述了软件产品评估过程的模型。
该技术将质量这一大的特性细化到属性级别或可测项。
这样,就可以通过比较这些属性、可测项从一系列候选体系结构中选择出一个合适的来开发软件。
在此标准中,定义了六种质量特性,27个子特性,并且描述了软件产品评估过程的模型。
1.功能性:是指当软件在指定条件下使用,软件产品满足明确和隐含要求功能的能力,即适合性;并且能够得到正确或相符的结果或效果,即准确性;拥有能够和其他指定系统进行交互的能力,即互用性;防止对程序或数据的未经授权访问的能力,即安全性。
2.可靠性:在指定条件下使用时,软件产品维持规定的性能水平的能力。
其中包括成熟性,指软件产品避免因软件中错误发生而导致失效的能力;容错性:是指在软件发生故障或违反指定接口的情况下,软件产品维持规定的性能水平的能力;易恢复性:是指在失效发生的情况下,软件产品重建规定的性能水平并恢复受直接影响的数据的能力。
3.易用性:是指在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
4.效率:是指在规定条件下,相对于所用资源的数量,软件产品可提供适当的性能的能力。
其中,时间特性:是指在规定条件下,软件产品执行其功能时,提供适当的响应时间和处理时间以及吞吐率的能力;除此之外,资源利用性:是指在规定条件下,软件产品执行其功能时,所使用的资源数量及其使用时间。
5.可维护性:是指软件产品可被修改的能力,修改可能包括修正,改进或软件适应环境、需求和功能规格说明中的变化。
软件质量特性
![软件质量特性](https://img.taocdn.com/s3/m/2b6e6ba931b765ce0408144a.png)
软件质量特性:功能性、可靠性、可用性、效率、可维护性、可移植性(1)功能性:与功能及其指定的性质有关的一组软件属性。
包括适宜性、准确性、互用性、依从性、安全性。
适宜性:规定任务提供一组功能的能力及这组功能的适宜程度。
准确性:系统满足规格说明和用户目标的程度,即在预定环境下能正确地完成预定功能的程度。
互用性:同其它指定系统协同工作能力。
依从性:软件服从有关标准、约定、法规及类似规定的程度。
安全性:避免对程序或数据的非授权故意或意外访问的能力。
(2)可靠性:与软件在规定的一段时间内和规定的条件下维持其性能水平有关的一组软件属性。
包括成熟性、容错性、可恢复性。
成熟性:由软件故障引起失效的频度。
容错性:在软件错误或违反指定接口情况下维持指定性能水平的能力。
可恢复性:在故障发生后重新建立其性能水平、恢复直接受影响数据的能力,以及为达到目的所需的时间与工作量。
(3)可用性:与使用的难易程度及规定或隐含用户对使用方式所做的评价有关的软件属性。
包括可理解性、易学性、可操作性。
可理解性:用户理解该软件系统的难易程度。
易学性:用户学习使用该软件系统的难易程度。
可操作性:用户操作该软件系统的难易程度。
(4)效率:与在规定条件下软件的性能水平与所用资源量之间的关系有关的一组属性。
包括时间特性、资源特性。
时间特性:响应和处理时间及软件执行其功能是的吞吐量。
资源特性:软件执行其功能时,所使用的资源量及使用资源的持续时间。
(5)可维护性:与软件维护的难易程度有关的一组软件属性。
包括可分析性、可修改性、稳定性、可测试性。
可分析性:诊断缺陷或失效原因、判定待修改程序的难易程度。
可修改性:修改、排错或适应环境变化的难易程度。
稳定性:修改造成难以预料的后果的风险程度。
可测试性:测试已修改软件的难易程度。
(6)可移植性:与软件可从某一环境转移到另一环境的能力有关的一组软件属性。
包括适应性、易安装性、一致性、可替换性。
适应性:软件无需采用特殊处理就能适应不同的规定环境的程度。
软件质量特性
![软件质量特性](https://img.taocdn.com/s3/m/9322d5735acfa1c7aa00cc7c.png)
ISO/IEC9126的软件质量模型包括6个质量特性和21个质量子特性。
(1)功能性(Functionality)功能性是指与软件所具有的各项功能及其规定性质有关的一组属性,包括:■适合性(Suitability):与规定任务能否提供一组功能以及这组功能的适合程度有关的软件属性。
适合程度的例子是面向任务系统中由子功能构成功能是否合适、表容量是否合适等。
■准确性(Accuracy):与能否得到正确或相符的结果或效果有关的软件属性。
此属性包括计算值所需的准确程度。
■互操作性(互用性,Interoperability):与同其他指定系统进行交互的能力有关的软件属性。
为避免可能与易替换性的含义相混淆,此处用互操作性(互用性)而不用兼容性。
■依从性(Compliance):使软件遵循有关的标准、约定、法规及类似规定的软件属性。
■安全性(Security):与防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性。
(2)可靠性(Reliability)可靠性是指在规定运行条件下和规定时间周期内,与软件维护其性能级别的能力有关的一组属性。
可靠性反映的是软件中存在的需求错误、设计错误和实现错误,而造成的失效情况。
包括:■成熟性(Maturity):与由软件故障引起失效的频度有关的软件属性。
■容错性(Fault tolerance):与在软件故障或违反指定接口的情况下,维持规定的性能水平的能力有关的软件属性。
指定的性能水平包括失效防护能力。
■可恢复性(Recoverability):与在失效发生后,重建其性能水平并恢复直接受影响数据的能力以及为达此目的所需的时间和努力有关的软件属性。
(3)可用性(Usability)可用性是指根据规定用户或隐含用户的评估所作出的关于与使用软件所需要的努力程度有关的一组属性。
包括:■可理解性(Understandability):与用户为认识逻辑概念及其应用范围所花的努力有关的软件属性。
软件体系架构的质量属性
![软件体系架构的质量属性](https://img.taocdn.com/s3/m/2fc5d936cdbff121dd36a32d7375a417866fc124.png)
软件体系架构的质量属性摘要:软件架构(及软件架构设计师)重点关注的是质量属性。
本⽂从常见的六个质量属性,即可⽤性、可修改性、性能、安全性、可测试性、易⽤性写起,使读者对其有初步的认识和了解。
解决了在具体的软件开发环境中的质量属性是什么,怎么⽤,如何⽤好的问题。
只⽤遵循质量属性的原则,才能有好的设计思想,才能开发出好的软件产品。
关键字:质量属性、软件体系架构、架构设计软件属性包括功能属性和质量属性,但是软件架构重点关注的是质量属性。
架构的基本需求主要是在满⾜功能属性的前提下,关注软件质量属性。
软件的质量属性可列举很多,也有各种不同的分类法和不同的表述。
⼀般将质量属性分为3类:系统的质量属性。
可⽤性,可修改性,性能,安全性,可测试性和易⽤性。
受架构影响的商业属性(上市时间)。
与架构本⾝相关的⼀些质量属性(如概念完整性),它们会间接影响其他质量属性,如可修改性。
1. 可⽤性(Availability)可⽤性与系统故障及其相关后果有关。
当系统不再提供其规范中所说明的服务时,就出现了系统故障。
所关注的⽅⾯有:(1)如何检测系统故障(2)系统故障发⽣的频度(3)出现故障时会发⽣什么情况(4)允许系统有多长时间⾮正常运⾏(5)什么时候可以安全地出现故障(6)如何防⽌故障的发⽣以及故障时要求进⾏哪种通知在计算可⽤性时,通常不考虑预定的停机时间(即停⽌服务),因为根据定义是”不需要“系统的。
这就导致会出现这种情况:系统停⽌运⾏,⽤户等待系统提供服务,但因为停机时间是预定的,因此不计⼊故障时间,也就不会影响可⽤性的数值。
可⽤性定义:可⽤性是指系统正常运⾏时间的⽐例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运⾏的速度来衡量的。
可⽤性⼀般场景:所关注的⽅⾯包括系统故障发⽣的频率、出现故障时会发⽣什么情况、允许系统有多长是将⾮正常运⾏、什么时候可以安全地出现故障、如何防⽌故障的发⽣以及发⽣故障时要求进⾏哪种通知。
软件体系结构的质量特性
![软件体系结构的质量特性](https://img.taocdn.com/s3/m/9af43424192e45361066f5df.png)
软件体系结构的质量特性摘要:众所周知的是,为了降低风险和减少构建软件系统的困难,人们在软件开发过程的早期应该首先考虑质量问题。
此外,系统的结构驱动着整个开发过程。
备用的结构中非功能性质量需求的实现决定了选择衔接整个系统的便利结构。
这一议题在可靠的变革的应用程序构建中非常重要。
软件开发的思想并没有在这一重要阶段给与很多细节关注。
这篇文章详述了软件体系结构的质量特性,并且介绍了一种基于ISO 9126-1标准的技术。
ISO模型的质量特性被精炼成为一种属性。
而这种属性可被度量以增加体系结构的信息。
我们的技术通过比较各自的质量属性的值从一组候选中挑选出适当的体系结构。
并以一个关于监制系统技术应用程序为例说明。
我们的方法有助于在体系结构分析过程中正确选择的决定。
它可以很容易的被并入一般软件开发的过程或者一种特别的体系结构设计思想。
简介:在软件开发早期阶段以非功能需求为目标的质量需求极大的影响了软件系统的体系结构。
但是,系统核心功能需求的提取在初始的系统结构的确定上扮演着重要的角色。
另一方面,质量需求在软件设计阶段需要平衡[Kazman et al. 2000]。
仅仅在最近,精确的软件体系结构设计的重要性(并不是局限于笔纸图画符号的设计方式)为了可靠的系统结构而蓬勃的发展起来[Bachmann et al.1996], [Bosch 2000], [Krutchen 2000].。
那些包括istribution, adaptability, interoperability, component reusability and real-time issues 现代的应用软件需要一个早期的体系结构的定义来满足可维护行和可靠性之类的质量需求。
这些对于在架构之下的软件系统全部功能性需求目标的完成是至关重要的。
特殊的,使用网络服务的新的信息系统,比如基于网络的电子商务应用程序,没有过多关心软件工程的时间而是因市场需求而发展的及其迅速。
软件体系结构之质量属性
![软件体系结构之质量属性](https://img.taocdn.com/s3/m/be4f108fa0116c175f0e4892.png)
Creating the architecture
• Architects primarily work by using previouslytried solutions – Large scale: Patterns and styles – Small scale: Tactics • Styles, patterns, and tactics represent conceptual tools in the architect‘s ―tool bag.‖ • Professional architects always keep their tool bag up to date.
Patterns and styles
• Independent component patterns – Communication-processes – Event systems • Implicit invocation •Virtual machine patterns • Explicit invocation •Interpreters • Data flow patterns •Rule-based systems – Batch sequential •Call-return patterns – Pipe-and-filter •Main program and – Layers subroutine • Data-centered patterns •Object oriented – Blackboard – repository
• A tactic is a design decision that influences the control of a quality attribute response. We call a collection of tactics an architectural strategy.
软件架构与质量属性研究
![软件架构与质量属性研究](https://img.taocdn.com/s3/m/cfd86800f6ec4afe04a1b0717fd5360cba1a8d38.png)
软件架构与质量属性研究软件架构是指在软件系统中,将系统的各个组件和子系统的关系和交互进行规划和组织的过程。
软件架构的设计要考虑多方面因素,包括系统的可维护性、可扩展性、可靠性、可移植性等。
而软件质量属性则是指软件系统的特定特征或属性,可以衡量软件系统在特定方面的优劣。
软件架构与质量属性的研究是非常重要的,因为软件系统的设计和开发过程中,软件架构决定了系统的整体结构和行为,而质量属性则决定了系统的可用性和性能等方面。
因此,研究软件架构与质量属性可以帮助开发人员在设计和开发过程中更好地把握系统的整体结构和特性,从而提高软件系统的质量和性能。
在软件架构研究中,有许多不同的架构模式和方法可以被应用和探索。
例如,面向对象的架构模式将系统分解为对象,通过封装和继承等机制来组织系统组件的关系。
而面向服务的架构模式则将系统分解为服务,并通过服务之间的交互来实现系统的功能。
此外,还有许多其他的架构模式和方法,如分层架构、客户-服务器架构、发布-订阅架构等。
在软件质量属性研究中,常常需要根据具体的软件系统需求和业务需求来确定重要的质量属性,并通过相应的指标和评估方法来衡量和评估系统的质量。
例如,对于一个大型的电商系统,其可靠性和可扩展性是非常重要的质量属性。
可靠性可以通过系统的错误处理和恢复机制等方面来评估,而可扩展性可以通过系统的扩展性和性能瓶颈等方面来评估。
此外,研究软件架构与质量属性还可以帮助开发人员更好地理解系统的需求和功能,从而提高系统的用户体验和满足用户的需求。
例如,在设计一个移动应用程序时,开发人员可以通过研究软件架构和质量属性来确定适合移动设备的架构模式和设计原则,从而提高应用程序的性能和用户体验。
总而言之,软件架构与质量属性的研究对于软件系统的设计和开发非常重要。
通过研究软件架构和质量属性,开发人员可以更好地理解和规划系统的整体结构和特性,从而提高软件系统的质量和性能。
软件架构和质量属性的研究也将继续在未来的软件开发过程中发挥重要的作用,为开发人员提供更多的指导和支持。
软件质量体系标准
![软件质量体系标准](https://img.taocdn.com/s3/m/77cef781ba4cf7ec4afe04a1b0717fd5370cb212.png)
软件质量体系标准
软件质量体系标准主要包括以下几个方面:
1. 功能性:软件应该提供满足用户需求的功能,并且正确、准确地完成各项任务。
2. 可靠性:软件在各种情况下都能稳定运行,不会出现突然崩溃或数据丢失等问题。
3. 易用性:软件的用户界面友好,操作简单易懂,符合用户习惯。
4. 效率性:软件能够快速响应用户操作,处理速度满足用户需求。
5. 维护性:软件的代码结构清晰,易于修改和维护。
6. 兼容性:软件可以与各种不同型号、不同配置的硬件和软件进行兼容。
7. 可扩展性:软件可以适应业务发展和用户需求的变化,方便地进行升级和扩展。
8. 安全性:软件采取必要的安全措施,保护用户数据和隐私。
以上标准可以通过制定相应的质量保证计划、进行代码审查、测试验收、上线部署等环节来保证实现。
同时,持续改进也是软件质量体系标准的重要一环,通过不断优化和改进,可以提高软件的质量水平,提升用户体验。
几种常见的软件体系结构及特点分析
![几种常见的软件体系结构及特点分析](https://img.taocdn.com/s3/m/5435401da1c7aa00b42acb19.png)
几种常见的软件体系结构及特点分析科学论坛I■几种常见的软件体系结构及特点分析胡宇徐瞿(重庆水利电力职业技术学院402160)[摘要]随着研究的不断深入,软件复用的层次越来越高,人们在开发新的系统时不必总是重复以往的工作,而是复用已有成果,把精力放在对新增功能的设计上,提高软件开发效率.因此,对软件复用的研究也是研究软件体系结构的一项重要内容.文章主要分析了几种常见软件体系结构及其特点.[关键词]软件体系结构特点中图分类号:TU391文献标识码:A文章编号:1009—914X(2010)10-0082一O1软件体系结构已经在软件工程领域有着广泛的应用.随着计算机网络技术和软件技术的飞速发展,软件体系结构的模式也在不断地发生变化.随着计算机技术的发展和应用的不断深入,人们所面临的软件系统的规模和复杂程度日渐提高.在软件开发的过程中,人们面对的不仅仅是针对软件本身的可修改性,性能,可靠性的要求,而更为重要的是不断变化的环境也对软件系统的能否适应变更提出了更高的要求.1基于体系结构的软件开发的一般过程软件体系结构为软件开发过程提供了进行系统分析的手段,软件体系结构的设计结果不仅仅是一些书面文档,更为重要的是,它能通过对这些文档的不一致分析找到隐藏着的各种问题:其次,在软件开发过程中,软件体系结构成为各类参与者之间进行交流的媒介.这使得参与者能够通过不同的角度获取相应的信息;最后,基于软件体系结构能较好地实现软件复用,通过软件体系结构的设计,能方便地找出可复用的构件,提高复用的准确性.所有软件开发方法都要解决从需求到实现的转化问题.在不同的设计,开发方法的指导下,遵照一定的,明确的步骤来实现满足需求的系统.在改造传统软件开发模式的基础上,在引入软件体系结构这一概念后,软件开发模式就成为一种基于体系结构的开发过程,它强调的是软件体系结构的设计,并在体系结构的约束下补充一定的设计方法来实现要求的系统.2常见软件体系结构及特点2.1正交软件体系结构以垂直线索构件族为基础的层次化结构,层由一组具有相同抽象级别的构件构成:线索是予系统的特例,它由完成不同层次功能的构件组成,每条线索完成整个系统中相对独立的一部分功能.基本思想是把应用系统的结构按功能的正交相关性,直分割为若干个线索,线索又分为几个层次,每个线索由多个具有不同层次功能和不同抽象级别的柯件构成.各线索的相同层次的构件具有相同的抽象级别.正交软件体系结构具有结构清晰,易于理解,易修改,可维护性强和可移植性强,重用粒度大等优点.2.2传统的C/S体系结构C1ient/Server(客户机/服务器)结构.以局域网为中心,将应用一分为二,单一服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务.具有强大的数据操作和事务处理能力,模型思想简单,易于接受和理解.c/s结构以局域网为中心,将应用一分为二,单一服务器(后台)负责数据管理, 客户机(前台)完成与用户的交互任务.客户/服务器应用模式的特点是大都基于"肥客户机"结构下的两层结构应用软件.C/S结构缺点是,表现层和事务层都放在客户端,而数据逻辑层和数据存储层则置于服务器端.2.3面向网络应用的三层C/S体系结构在传统的c/s基础上发展起来的,它将应用功能分成表示层,功能层和数据层三个部分.表示层是应用的用户接口部分,承担系统与用户间的对话功能:功能层又称业务逻辑层,它将具体的业务处理逻辑编入程序中.数据层是数据库管理系统,负责管理对数据库数据的读写.三层在逻辑上保持相对独立性.允许更灵活有效地选用相应的平台和硬件系统.三层可以并行开发,也可以选择各自适合的语言,以达到较高的性价比.三层c/s结构具有如下优点:允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展性;允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层:应用的各层可以并行开发,各层也可以选择各自最适合的开发语言:允许充分利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,这就为严格的安全管理奠定了坚实的基础24B/S软件系统结构Br0wser/server(浏览器/服务器)结构.是对c/s结构进行改进一种的结构.用户接口完全通过WWW浏览器实现.它充分利用了浏览器技术,结合多种脚本语言,通过浏览器就实现了原来需要复杂的专用软件才能实现的强大功能.B/s体系结构也有许多不足之处,例如:B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能:B/S体系结构的系统扩展能力差,安全性难以控制:采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于c/s体系结构:B/S体系结构的数据提交一般以页面为单位, 数据的动态交互性不强,不利于在线事务处理(OLTP)应用.2.5C/S与B/S混合体系结构c/s与B/S有机结合的一种典型的异构体系结构.集c/s与B/S优点于一身,同时又适当克服了它们的一些缺点.软件体系结构风格为大粒度的软件重用提供了可能.然而,对于应用体系结构风格来说,由于视点的不同,系统设计师有很大的选择空间.结语要为系统选择或设计某一个体系结构风格,必须根据特定项目的具体特点,进行分析比较后再确定.不同的结构有不同的处理能力的强项和弱点,一个系统的体系结构应该根据实际需要进行选择,以解决实际问题.致常常出现这种局面:当记者提了一通较长的问题后,采访对象只能要求记者: "记者同志,请你把刚才的问题再重复一遍."西方记者很讲究这个问题,善于将问题设计的简短,明确,他们讲究"报酬递减率'即提问越长,回答越少,甚至有去无回.(3)提问宜具体任何事物都是错综复杂的,且有个形成,发展,结束过程,记者如果笼统,抽象地提问题问题,采访对象就难以回答.因为这不符合人的思维心理活动规律,思维心理活动不是一下子能完成的,像"请您谈谈体会","请您说说感受"之类笼统,空泛的问题,往往使采访对象茫然无措,不知从何谈起.提问要具体,具体地发问才能得到具体,有意义的回答.(4)提问要把握主线,适时引导主要人要起到中介作用而不可喧宾夺主.主持人在采访中要注意引导采访对象说出事实真相,而不是把采访对象的思维禁锢在他指定的范围内.一般的采访目的性很强,由于时间和环境的限制,采访者和采访对象之间不可能像拍摄纪录片和写人物通讯那样可以长时间地共同生活,工作,所以要抓住关键问题,一旦采访对象的谈话偏离了主题,一定要及时将它拉回到主线上来, 切勿跑题.(5)提问要"口…眼"并用两位记者同时到一个现场去采访,写出来的报道大不~样,除了基本水平以外,主要就在于会不会或善不善于用眼睛去采访,当然,用眼睛采访是配合用82J科技博览"口"提问的,不然,如果只用眼睛就能窥探到采访对象的全部,采访艺术也就不存在了."口","眼"并用意在强调观察得深,观察得细,力求生动,逼真地反映出事物的本质来.(6)善于去倾听倾听,是一种技巧,也是记者采访中常用的方法.善于倾听是建立良好人际关系的一种手段,是索取更多谈话内容的一种方式,是集中智慧的一条途径. 善于倾听,才能捕捉住对方谈话中的真实意图和目的,而不致产生"各取所需"的错误做法.这一点,对采访者来说尤为重要.总之,采访是-I'1艺术,随着电视的普及,电视观众的成熟和社会审美取向的变化,新闻类节目主持人自身内在的素质,综合能力的高低已经成为新闻节目能否成功,是否具有影响力的重要因素.在千万双挑剔的眼睛前,要泰然自若地展现自己独特的屏幕形象,主持人就必须具有相当丰富的实践经验和良好的内在修养.参考文献f1]叶子.现代电视新闻学.[M].中国广播电视出版社.2005.03.[2]赵淑萍,电视新闻采访与写作.[M].北京师范大学出版社.2006.O1.[3]何志武,石永军..电视新闻采访.[M].武汉大学出版社.2008.02.[4]巨浪.电视(新闻)采访与写作.[蝴.浙江大学出版社.2009.03.。
软件质量产品特性
![软件质量产品特性](https://img.taocdn.com/s3/m/fd25623c26284b73f242336c1eb91a37f111321c.png)
软件产品质量特性之全面解读:功能、可靠性、安全性等的重要性软件产品质量特性是软件开发过程中需要关注的重要方面,它直接关系到软件产品的可用性、可靠性、安全性、可维护性、可扩展性等方面。
以下是软件产品质量特性的详细内容:一、功能性功能性是指软件产品能够满足用户需求的能力。
在软件开发过程中,需要根据用户需求进行功能设计、功能实现和功能测试,以确保软件产品能够实现用户所需的功能,满足用户的需求。
二、可靠性可靠性是指软件产品在规定条件下,在规定时间内完成规定功能的能力。
可靠性包括稳定性、健壮性和可用性等方面。
在软件开发过程中,需要采用可靠性设计、测试和维护等措施,以确保软件产品的可靠性。
三、安全性安全性是指软件产品保护用户数据和信息安全的能力。
在软件开发过程中,需要采取安全措施,如数据加密、访问控制、漏洞修复等,以确保软件产品的安全性。
四、可维护性可维护性是指软件产品能够被维护和修改的能力。
在软件开发过程中,需要采用可维护性设计、编码规范、测试等措施,以提高软件产品的可维护性。
五、可扩展性可扩展性是指软件产品能够适应未来变化和发展的能力。
在软件开发过程中,需要考虑软件产品的可扩展性,以便在未来能够适应新的需求和技术变化。
六、易用性易用性是指软件产品能够被用户方便地使用的能力。
在软件开发过程中,需要关注用户体验和易用性设计,以提高软件产品的易用性。
七、可测试性可测试性是指软件产品能够被有效测试的能力。
在软件开发过程中,需要采用可测试性设计、测试策略和测试工具等措施,以提高软件产品的可测试性。
八、可重用性可重用性是指软件产品能够在其他应用场景中被重复使用的能力。
在软件开发过程中,需要考虑软件产品的可重用性,以便在其他应用场景中重复使用。
九、可移植性可移植性是指软件产品能够在不同平台和环境下运行的能力。
在软件开发过程中,需要考虑软件产品的可移植性,以便在不同平台和环境下运行。
十、兼容性兼容性是指软件产品能够与其他产品或系统协同工作的能力。
软件体系结构总结考点
![软件体系结构总结考点](https://img.taocdn.com/s3/m/0ce5733300f69e3143323968011ca300a7c3f674.png)
软件体系结构总结考点1.软件体系结构的概念和原则:-什么是软件体系结构,它与软件设计的区别是什么?-软件体系结构的设计原则是什么?-软件体系结构的目标是什么?2.软件体系结构的重要特性:-模块化:将系统划分为独立的模块,每个模块负责一个特定的功能。
-可扩展性:系统可以方便地进行功能扩展,无需对已有模块进行大规模修改。
-可维护性:系统的模块分离清晰,使得修改和维护变得更加容易。
-可重用性:系统中的模块可以被重复使用,在其他项目中节省开发时间和成本。
-可靠性:系统能够提供高质量和稳定的服务,具有高度的可靠性。
3.常见的软件体系结构模式:-分层体系结构:将系统划分为多个层次,每个层次负责特定的功能。
-客户端-服务器体系结构:将系统划分为客户端和服务器,客户端发起请求,服务器提供服务并返回结果。
-MVC体系结构:将系统划分为模型、视图和控制器三个部分,分别负责数据、界面和逻辑处理。
-微服务体系结构:将系统划分为多个小型的、独立的服务,每个服务负责一个特定的业务功能。
4.软件体系结构的评估和选择:-如何评估软件体系结构的有效性和适用性?-如何选择最适合项目需求和条件的软件体系结构?-软件体系结构的选择与项目规模、团队规模有何关系?5.软件体系结构的设计和实现:-如何进行软件体系结构的设计和建模?-有哪些常用的软件体系结构设计工具和方法?-如何将软件体系结构转化为具体的代码实现?6.软件体系结构的演化和维护:-软件体系结构在系统演化和维护过程中的作用是什么?-如何在系统需求发生变化时进行软件体系结构的演化?-如何进行软件体系结构的重构和迁移?软件体系结构是软件开发过程中的关键环节,对于确保系统的质量和可持续发展至关重要。
掌握软件体系结构的基本原理、常见模式和设计方法,以及评估和演化的技巧,能够帮助开发人员构建出高质量且易于维护和扩展的软件系统。
软件质量特性
![软件质量特性](https://img.taocdn.com/s3/m/880f069402d276a200292e54.png)
软件质量特性:功能性、可靠性、可用性、效率、可维护性、可移植性(1)功能性:与功能及其指定的性质有关的一组软件属性。
包括适宜性、准确性、互用性、依从性、安全性。
适宜性:规定任务提供一组功能的能力及这组功能的适宜程度。
准确性:系统满足规格说明和用户目标的程度,即在预定环境下能正确地完成预定功能的程度。
互用性:同其它指定系统协同工作能力。
依从性:软件服从有关标准、约定、法规及类似规定的程度。
安全性:避免对程序或数据的非授权故意或意外访问的能力。
(2)可靠性:与软件在规定的一段时间内和规定的条件下维持其性能水平有关的一组软件属性。
包括成熟性、容错性、可恢复性。
成熟性:由软件故障引起失效的频度。
容错性:在软件错误或违反指定接口情况下维持指定性能水平的能力。
可恢复性:在故障发生后重新建立其性能水平、恢复直接受影响数据的能力,以及为达到目的所需的时间与工作量。
(3)可用性:与使用的难易程度及规定或隐含用户对使用方式所做的评价有关的软件属性。
包括可理解性、易学性、可操作性。
可理解性:用户理解该软件系统的难易程度。
易学性:用户学习使用该软件系统的难易程度。
可操作性:用户操作该软件系统的难易程度。
(4)效率:与在规定条件下软件的性能水平与所用资源量之间的关系有关的一组属性。
包括时间特性、资源特性。
时间特性:响应和处理时间及软件执行其功能是的吞吐量。
资源特性:软件执行其功能时,所使用的资源量及使用资源的持续时间。
(5)可维护性:与软件维护的难易程度有关的一组软件属性。
包括可分析性、可修改性、稳定性、可测试性。
可分析性:诊断缺陷或失效原因、判定待修改程序的难易程度。
可修改性:修改、排错或适应环境变化的难易程度。
稳定性:修改造成难以预料的后果的风险程度。
可测试性:测试已修改软件的难易程度。
(6)可移植性:与软件可从某一环境转移到另一环境的能力有关的一组软件属性。
包括适应性、易安装性、一致性、可替换性。
适应性:软件无需采用特殊处理就能适应不同的规定环境的程度。
软件架构的10个质量属性
![软件架构的10个质量属性](https://img.taocdn.com/s3/m/1c8ba9cd710abb68a98271fe910ef12d2af9a9ea.png)
软件架构的10个质量属性一般地,对于软件系统的需求而言,分为两类:功能性需求和非功能性需求。
软件系统的架构设计既要满足软件的功能性需求,还要满足软件的非功能性需求。
特别地,系统架构对软件非功能性需求的支撑成为架构的质量属性。
本文描述了软件的10个质量属性,但不意味着每个质量属性都会在架构设计中呈现,可以挑选对产品最重要的质量属性,然后进行实现。
1 可伸缩性随着用户或请求数量的增加,系统运行和操作的能力也随之增加。
在云平台上,可伸缩性可以通过机器的水平或垂直缩放或者简单地附加 AutoScalingGroup 来实现。
流量模式:了解系统的交通模式。
尽可能多地产生机器是不划算的,即使它的利用率不高。
•日行模式: 特定地区的交通在早上增加,晚上减少。
•全局/区域模式: 区域大量使用应用程序。
•突发流量: 许多用户都在请求资源,但是只有少数几台机器可以为突发的流量提供服务。
这些可能发生在高峰期或人口密集地区。
自动缩放: 能够迅速产生一些机器,以处理流量的爆发,当需求正在减少时,优雅地收缩。
延迟: 能够尽快为请求提供服务。
这还包括优化算法和在用户位置附近复制系统,以减少请求的往返。
2 可用性它以正常运行时间的百分比来衡量,并定义了系统正常运行和正常工作的时间比例。
可用性受到系统错误、基础设施问题、恶意攻击和系统负载的影响。
部署标记: 部署应用程序组件的多个独立副本,包括数据存储区区域部署: 将后端服务部署到一组地理节点中,每个节点都可以服务任何区域中的任何客户端请求。
3 可扩展性可扩展性度量扩展了系统的能力和实现扩展所需的工作。
扩展可以通过添加新功能或修改现有功能来实现,该原则规定在不损害当前系统功能的情况下进行增强。
模块化/可重用性: 可重用性和可扩展性使得技术可以以更少的开发和维护时间转移到另一个项目,同时增强了可靠性和一致性。
可插拔性: 能够轻松地插入其他组件,比如微内核架构。
4 一致性一致性保证每个读操作返回最近的写操作。
软件体系结构与设计模式
![软件体系结构与设计模式](https://img.taocdn.com/s3/m/0ee33c20a55177232f60ddccda38376bae1fe040.png)
软件体系结构与设计模式软件体系结构是指软件系统各个组件之间的关系和相互作用方式的规范。
设计模式则是一套解决软件设计问题的经验总结和最佳实践。
本文将介绍软件体系结构和设计模式的概念、特点以及在软件开发中的应用。
一、软件体系结构的概念与特点软件体系结构是软件系统的基本框架,规定了系统各个组件之间的关系和相互作用方式。
它包括系统的整体结构、组件的划分和接口的定义等。
软件体系结构的概念有以下几个特点:1. 模块化:将系统划分为相互独立的模块,每个模块都有明确定义的功能和接口。
2. 层次化:将系统划分为不同的层次,每个层次负责不同的功能和任务。
3. 分布式:将系统组件部署在不同的计算节点上,实现分布式计算和资源共享。
4. 可扩展性:能够方便地添加、修改和删除系统组件,以适应不同的需求和变化。
5. 可重用性:通过模块化和规范化的设计,实现组件的复用和共享。
二、常见的软件体系结构模式在软件体系结构中,常见的模式有分层模式、客户-服务器模式、主从模式、发布-订阅模式等。
1. 分层模式:将系统划分为多个层次,每个层次负责不同的功能和任务。
上层接口只与下一层接口进行交互,实现了模块之间的解耦和复用。
2. 客户-服务器模式:将系统划分为客户端和服务器端,客户端发送请求,服务器端提供服务并返回结果。
实现了任务的分布和协作。
3. 主从模式:主节点负责协调和管理各个从节点的工作,从节点负责执行具体的任务并向主节点汇报。
实现了任务的分配和并行处理。
4. 发布-订阅模式:发布者发布消息,订阅者接收并处理消息。
实现了组件之间的松耦合和消息的异步处理。
三、设计模式的概念与分类设计模式是针对特定问题的解决方案,是一种在软件设计中常用的思维方式和方法。
常见的设计模式有创建型模式、结构型模式和行为型模式。
1. 创建型模式:用于创建对象的模式,包括工厂方法模式、抽象工厂模式、单例模式、建造者模式和原型模式等。
2. 结构型模式:用于组织类和对象的模式,包括适配器模式、装饰器模式、代理模式、外观模式和桥接模式等。
软件质量的特性
![软件质量的特性](https://img.taocdn.com/s3/m/7868ced3bd64783e08122bc1.png)
软件的质量特性质量特性说明子特性一、功能性:指满足明确或隐含的需求的那些功能1、适合性:提供了相应的功能2、准确性:正确(用户需要的)3、互操作性:产品与产品之间交互数据的能力4、保密安全性:允许经过授权的用户和系统能够正常的访问相应的数据和信息,禁止未授权的用户访问。
.。
5、功能性的依从性:国际/国家/行业/企业标准规范一致性二、可靠性: 产品在规定的条件下,在规定的时间内完成规定功能的能力1、成熟性:防止内部错误导致软件失效的能力2、容错性:软件出现故障,自我处理能力3、易恢复性:失效情况下的恢复能力4、可靠性的依从性三、易用性: 在指定使用条件下,产品被理解、学习、使用和吸引用户的能力1、易理解性:2、易学性:3、易操作性:4、吸引性:5、易用性的依从性:四、效率性:在规定台条件下,相对于所用资源的数量,软件产品可提供适当性能的能力1、时间特性:平均事务响应时间, 吞吐率,TPS(每秒事务数)2、资源利用性:CPU 内存磁盘IO 网络带宽队列共享内存3、效率依从性:五、维护性”四规”,在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力1、易分析性:分析定位问题的难易程度2、易改变性:软件产品使指定的修改可以被实现的能力3、稳定性:防止意外修改导致程序失效4、易测试性:使已修改软件能被确认的能力5、维护性的依从性六、可移植性从一种环境迁移到另一种环境的能力1、适应性:适应不同平台2、易安装性:被安装的能力3、共存性:4、易替换性5、可移植性的依从性:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
盛年不重来,一日难再晨。
及时宜自勉,岁月不待人。
软件体系结构的质量特性摘要:众所周知的是,为了降低风险和减少构建软件系统的困难,人们在软件开发过程的早期应该首先考虑质量问题。
此外,系统的结构驱动着整个开发过程。
备用的结构中非功能性质量需求的实现决定了选择衔接整个系统的便利结构。
这一议题在可靠的变革的应用程序构建中非常重要。
软件开发的思想并没有在这一重要阶段给与很多细节关注。
这篇文章详述了软件体系结构的质量特性,并且介绍了一种基于ISO 9126-1标准的技术。
ISO模型的质量特性被精炼成为一种属性。
而这种属性可被度量以增加体系结构的信息。
我们的技术通过比较各自的质量属性的值从一组候选中挑选出适当的体系结构。
并以一个关于监制系统技术应用程序为例说明。
我们的方法有助于在体系结构分析过程中正确选择的决定。
它可以很容易的被并入一般软件开发的过程或者一种特别的体系结构设计思想。
简介:在软件开发早期阶段以非功能需求为目标的质量需求极大的影响了软件系统的体系结构。
但是,系统核心功能需求的提取在初始的系统结构的确定上扮演着重要的角色。
另一方面,质量需求在软件设计阶段需要平衡[Kazman et al. 2000]。
仅仅在最近,精确的软件体系结构设计的重要性(并不是局限于笔纸图画符号的设计方式)为了可靠的系统结构而蓬勃的发展起来[Bachmann et al.1996], [Bosch 2000], [Krutchen 2000].。
那些包括istribution, adaptability, interoperability, component reusability and real-time issues 现代的应用软件需要一个早期的体系结构的定义来满足可维护行和可靠性之类的质量需求。
这些对于在架构之下的软件系统全部功能性需求目标的完成是至关重要的。
特殊的,使用网络服务的新的信息系统,比如基于网络的电子商务应用程序,没有过多关心软件工程的时间而是因市场需求而发展的及其迅速。
此外,此种产品的质量不在讨论范围之内。
然而,当一个HTML页面在浏览器端显示出来的时候,我们马上就能意识到我们是否使用了一个好的或者坏的网络应用程序。
像可用性,可靠性或有效性等的因素涉及到这个快速的评估。
事实上,自从系统开发之初,软件开发者们对网络应用程序的质量特性就没有一个清晰的描述,正如我们所指出的,软件工程的范例通常被忽略。
比如,即使当应用程序数据的语义与描述分离是一个可接受的范例,H TML i sn o r m a ll y u se d r e g a r d l e ss o f t h i s i ssue,直到最近,XML才被接受。
于是,质量需求的详述就成为了一个有趣的问题。
在功能需求的详述过程中,质量需求可能会隐藏的出现,比如在一个纯文本用例或一个方案中。
但是在标准的面向对象思想中没有直接的指导方法和清晰的建模原理来捕获或详细描述质量需求。
并且我们直到软件体系结构的设计不是一个独立的行为,而是软件产品开发和改良过程中的更进一步的阶段。
软件体系结构应该作为一个主要的侧重点以建立更清晰可重用的软件框架f o r gu a r a n t ee i ng t o a c e r t a i n e x t e n t,t h e o v e r a ll qu a li t y o f t h e r e su l t i ng so f t w a r e p r o du ct s.本篇文章的主要目的是介绍(建议)一种基于ISO 9126-1 [ISO/IEC 1998]标准的技术来描述相应的软件质量特性,而这种技术为品质等级或其他可测量的要素所精确描述,并参与软件体系结构的设计过程之中。
作为体系结构设计阶段中,质量特性的详细说明和规范度量是软件体系结构改进过程的基础,而这些改进过程允许对最初设计进行改进和增加。
这种基于系统的某些关键功能需求而选择的备案在设计过程中不断被转变和改进以达到预期的质量目标,而这些质量目标正是系统应当达到的质量需求的价值所在。
在这一过程中为了最终的系统,质量需求经常被转化为隐性的功能需求[B o sch2000],比如最终的系统把这些需求表达为附加的机制。
但是,在一般习惯性的软件分析和设计思想中,这些质量特性的详述和评估的表述仅仅基于设计者的经验。
ATMT(基于构架的权衡分析方法)[K a z m a n e t a l.2000]与我们的方法有一些共同之处。
它使用了一种称之为u t ili t y(sy s t e m g oo dn e ss)t r ee的质量特性详述标准来将基于精确质量特性的方案分清主次。
体系结构和属性的信息被收集到ABAS(A tt r i bu t e-B a se d A r ch i t e ct u r a l S t y l e)框架中[K l e i n a nd K a z m a n1999].。
但是如何获得质量视图是如此描述和为何仅有一个描述等级的utility tree并不清楚,并且质量特性的解释并不标准。
utility tree通过一组可被驱动的体系结构测试方案来给与方案优先权来确定关键之处。
特性的测量通过stimuli,参数和响应来显示。
我们的方法使用根据ISO 9126-1标准的质量模型来考虑质量需求的详述。
这个在结构上接近ATAM质量树的等级模型对于软件体系结构很合适。
ISO质量模型现在是软件工业的标准并且它通过高度抽象的层次来解释。
它由内部和外部因素和使用品质特性视图的质量决定的。
这种质量特性(ATAM的特性)恰好被很标准的解释,并且特性的度量通常很普遍,它可以为详细的应用做更进一步的解释。
软件运行环境的质量是由用例模型的质量决定的,也就是在上下文的使用中,用户对于质量的观点。
此篇文章中我们只关心有关内外因素质量模型,而这个质量模型分别描述了用户和开发者的观点。
为了完备使用的质量,这个系统必须达到内部和外部的目标。
在软件开发过程中出现如下情况:当软件作为电脑系统中的一部分和内部软件评估或是实体属性测量的结果时,质量特性常常被详细描述为显现的外在子特性。
在我们的例子中,不得不把这些属性转化或翻译成称之为媒介软件产品的软件体系结构。
在软件开发过程中获得的特性的值可被用来校验内部的质量目标,而这些内部的质量目标有助于确认最终软件系统要求的外部目标[SO/I E C1998].。
拥有质量特性详细描述这样的事实为体系结构详细说明增加了更多的信息,这样有助于为解决特定设计问题而挑选体系结构的设计过程。
除了介绍和结论,;论文的主要部分如下:——为详述软件体系结构的质量特性,给出了一个基于ISO 9126-1标准的通用质量模型的描述。
——一个实例的研究,在这个实例中,我们将获得的通用质量模型来进行使用网络设备的实时监视系统软件体系结构的选择。
2、为软件体系结构而修改的ISO 9126-1质量模型。
ISO 9126-1质量模型:根据ISO 9126-1标准[ISO/IEC, 1998],质量被描述为一组产品或服务的特色或特性,而这些特色和特性是基于自己的能力来满足显性或隐性的需求。
同时,对于质量定义的不同看法也应被尊重:从用户角度来看,它是最终产品的质量;从开发者的角度来看,它是在开发过程中由不同的项目相关人员生产的中间产品的质量。
从终端管理者角度来看,它是营销的需求。
所有产品的质量都可以被不同观点的集合所表达。
在我们的文章中,用户和开发者(架构师)的观点角度将会被采纳。
MCCALL的工作区分了两类质量特性:因素和标准。
前者不能直接被测量而后者可以被主观的测量。
这启发了I SO9126-1模型。
基于这个标准,ISO 9126-1更进一步的将McCall的模型化简为ISO 9126-1质量模型,现在它在广泛的艺术级的产品质量说明书中被接受。
它提议了一组六个相互独立的高阶的质量特性。
而这些质量特性被定义为其质量已被描述和评估的软件产品的质量特性。
在开发的各种阶段,质量特性被作为外部质量确认和内部质量审查的目标。
当获得特性和可测量的实体时,他们被描述成子特性。
在文中度量和测量标准被定义为一个测量方法或测量手段来获取一个值。
这种关系如图1所示:在开发过程中,为了监视和控制软件质量外部的质量需求会转变或转化成在开发活动中获得的中间产品的质量需求。
表1:ISO9126质量模型的特性。
子特性如图2所示:注意:符合性意味着与标准,协议或者规则的联系。
它被解释为所有特性的子特性之一[I SO/I E C1998]。
这里我们仅把它认为是功能性来精简它的描述。
注意:符合性子特性的出现意味着特性中其余的部分已经被偶些选定的标准完全测量了。
软件体系结构标准质量模型的制定:为了定制ISO质量模型,我们必须了解这些成分。
他们是体系结构或者软件系统所基于的一般框架所期盼的成分。
我们把它当作是软件开发过程的中间产品。
因此,一个特别的在深层次上被构建所解释的体系结构,必须满足ISO9126的全部或部分特性,而连接器连接着这些构件,结构和拓扑。
每个与属性相关联的特性都应被测量。
这些属性应当完全与体系结构或者构件和连接器有关。
质量特性的测量应被量化。
起先,它们被定义为特定符号的公式,接下来就使用标准的语言来定义[M a r c a n o e t a l.2000]。
在这个逐步的体系结构定义过程中,我们也许能够估计体系结构的精华是否提高了质量特性,但此问题在本文中不予讨论。
对于最终产品的每项属性来说,都有需要达到或是超越的质量目标值。
当这些质量目标值被达到或是超越后,我们便说这个体系结构符合质量特性的需求。
这些目标值是在质量需求中所确定的。
接下来我们通过对每个属性给与相应的标准来解释质量需求如何被精确到相应的子特性及属性上,以及它们如何与体系结构相适应。
注意,这里的特性及子特性被认为是相互独立的。
1、功能性特性:(1)、子特性——适应性:拥有符合特定任务需求的足够的功能。
它包括两个方面:存在:任务已被详细说明,比如以用例的方式。
每一个任务必须存在一个特定的功能去完成它。
正确:正确的解释任务的详细说明。
比如必须满足图3 的次序图。
从软件体系结构的层次上说明:a.系统的功能性必须被确定。
在此种情况下,子特性被解释成拥有是【1】或者否【0】这样值的属性。
注意,存在着值介于离散数字【n…m】之间的属性,比如【0….1】代表着不存在或存在。
这种标准是一种获取级别水平的度量。
b.由功能需求所获得的次序图必须被详细精化。
在拥有一个体系结构说明书的情况下,特定的功能被分解成与构件有关的子功能,并且这些子功能都应符合系统的功能性需求。
图3:系统需求向软件体系结构的转化(2)、子特性——正确性:以需要的精确程度来制定正确或一致的结果。