您好,欢迎访问三七文档
第一章1、构架的产生构架是若干商业和技术决策的结果。构架的设计受诸多因素的影响,而这些影响因素的实现又随着构架所处的环境不同而异2、构架所受的影响:系统涉众、开发组织、设计师的素质和经验、技术环境、其他因素3、构架对诸影响因素的反作用:构架影响着开发组织的结构。构架会影响开发组织的目标。构架可能会影响客户对下一个系统的要求。构建系统的过程丰富了整个开发团体的经验,从而将影响设计师对后继系统的设计。一些典型的系统会影响并实际改变软件工程的发展,也就是系统开发人员学习和实践的技术环境。4、构架如何评估:构架过程中的几条建议:1、构架的设计应由一位设计师来完成,或者由一个在某位设计师的领导下的小组来完成设计。2、设计师应全面掌握系统的功能需求,并且应有一份所设计构架应满足的划分了优先级的质量属性列表。3、构架的文档应该完备,至少应有一个静态视图和一个动态视图,应该采用所有人员认可的文档形式,以保证所有涉众都能很容易地理解这些文档。4、应该把构架设计方案交由各涉众传阅,应该让各涉众积极参与设计方案的评审。5、应该对构架认真进行分析,得出可应用的量化度量指标,也应该对质量属性进行正式评估,以避免出现发现问题时为时已晚的情况。6、构架的设计应有助于增量式实现。为此,可先创建一个粗略的、具备雏形但功能最简单的系统,通过把这个骨架系统逐步细化、扩大来得到所期望的系统。这种做法可简化集成和测试的工作。7、允许构架带来一定的资源争用,但应该清楚的给出这些资源争用的解决方案,告之于有关各方,并保证这些解决方案切实可行。构架结构上的几条建议:1、构架应采用定义良好的模块,各模块的功能责任划分应给予信息隐藏和相互独立的原则。2、应该使用特定于每个属性的众所周知的构架战术来实现质量属性。3、构架绝对不可以依赖于某个特定版本的商业产品或工具。4、应将产生数据的模块和使用数据的模块分离开。5、对于并行处理系统,构架应该采用定义良好的进程或任务,他们未必反应模块分解结构。6、每个任务或进程的编写都要考虑到与特定处理器的关系,并保证能够方便地改变这种关系。7、构架应该采用少量的、简单的交互模式。第二章5、我们要得到最终的构架需要一个循序渐进的过程,在最粗略的线框图和构架之间有很多中间步骤,逐步求精得到真正意义上的构架,这些中间步骤包括:构架模式:是对元素和关系类型以及一组对其使用方式的限制的描述。我们可以把它看作是对构架的一组制约条件——即对各元素类型及其交互模式的限制条件,而这些制约条件确定了一组或一系列能满足他们要求的构架,比如,客户机/服务器构架模式。构架模式最重要的作用是它们展示了已知的质量属性。参考模型:是一种考虑数据流的功能划分,它对已知问题进行分解,分解得到的各个部分相互协作,构成问题的解决方案。参考构架:是映射到软件元素及元素之间数据流上的参考模型。三者之间的关系是:6、软件构架非常重要的原因:1、涉众之间的交流。软件构架是一种常见的对系统的抽象,绝大多数系统的涉众都以此作为彼此理解、协商、达成共识或互相沟通的基础。2、早期设计决策。软件构架是所开发系统的最早设计决策的体现,而这些早期决策对系统的后续开发、部署和维护具有重要影响。这也是能够对所开发系统进行分析的最早时间点。3、可传递的系统抽象。软件构架是关于系统构造及系统各元素工作机制的相对较小、却又能突出反映问题的模型。这种模型可以在多个系统之间传递,特别是可以应用到具有相似质量属性和功能需求的系统中,并能够促进大规模的重用。7、构架结构和视图软件构架对于一个系统而言,具有极其重要的意义,包括:1、软件构架是涉众之间交流的手段2、软件构架是系统的早期设计决策3、软件构架是可传递的系统抽象为了能够清晰的表达构架,我们引入了如下两个概念:视图与结构视图——视图是构架元素内聚集的表述,由系统涉众编写和阅读,它由一个元素集合表示和元素之间的关系组成,用于表示构架中的某个结构结构——结构是元素本身的集合,他们存在于软件和硬件中,比如,模块结构是系统的模块和其组织的结构,模块视图是该结构的表示软件结构图:8、构架结构的选择第三章9、无第四章10、系统的质量属性:质量属性场景是一种面向特定的质量属性的需求。它有6部分组成,1、刺激源(Sourceofstimulus):生成刺激的实体(人、计算机或其他)2、刺激(Stimulus):当刺激源产生的刺激达到系统后需要考虑的条件,或指可能对系统的影响3、环境(Environment):刺激到达时系统的状态,或指刺激在系统的某些条件内发生4、制品(Artifact):被刺激的部分,可能是整个系统,也可能是其中的一部分5、响应(Response):刺激到达后系统所采取的措施6、响应度量(Responsemeasure):当响应发生时,我们以某种方式对其进行度量,便于我们对需求进行测试11、商业质量属性:商业目标:1、上市时间2、成本和收益3、所希望的系统生命期的长短4、目标市场,通用市场还是专用市场5、推出计划6、与老系统的集成12、构架的质量属性:构架的质量属性包括:1、概念完整性,在各个层次上统一系统设计的根本指导思想2、正确性和完整性,这是构架能够满足系统的各种需求及运行时的资源要求的必要条件3、可构建性,保证能够由指定的开发小组在规定的时间里及时开发系统,并允许在开发过程中做某些更改,其目的是最大程度地实现并行开发第五章13、无第六章14、需求与质量:空中交通管制很引人注意,商业团体、官方及普通民众都对它非常关心,而且如果该系统不能良好运行,就可能造成生命财产损失,该系统的两个最重要的质量属性需求是:1、极高的可用性:保证系统不能正常工作的状态只延续极短的时间(全年5分钟)2、高性能:系统必须在不“丢失”任何数据的情况下对大量数据(2440架飞机)进行处理其他需求:1、开放性:系统必须能够与按商业运作开发出来的其它软件进行集成,比如航图显示系统,2、可提交的子系统,3、能够更改功能和处理软硬件的升级,4、能够与众多的外部系统相接并协同工作为了实现ATC系统极高的可用性,在构架中大量的采样了冗余战术,包括硬件冗余和软件冗余。为了实现高性能,采用了并发和资源调度等战术第七章15、设计构架:ADD把一组质量属性场景作为输入,并使用对质量属性实现和构架之间的关系的了解,对构架进行设计。ADD使用大致过程:ADD是一种定义软件架构的方法,该方法将分解过程建立在软件必须满足的质量属性之上,它是一个递归的分解过程,其中每个阶段都选择战术和构架模式来满足一组质量属性场景,然后对功能进行分配,以实例化由该模式所提供的模块类型,ADD发生在需求分析之后。ADD结果:结果是构架的模块分解为视图和其他视图的最初的几个层次,这是设计过程中架构的第一个连接点(articulation)因此肯定是粗粒度的。ADD得到的构架和实现的构架的区别:需要做出更详细的设计决策。16、ADD的详细步骤1.首先:样本输入:ADD的输入时一组需求,把功能需求和限制作为输入,在处理质量需求时,要求把质量需求表示为一组特定于系统的质量场景。2.然后:开始ADD:当确定了所有的驱动属性后,就可以开始ADD。ADD步骤a选择要分解的模块。要分解的模块通常是整个系统。b根据这些步骤对模块进行求精:(1)从具体的质量场景和工鞥需求集合中选择构架驱动因素。(2)选择满足构架驱动因素的构架模式。(3)实例化模块并根据用例分配功能,使用多个试图进行表示。(4)定义子模块的结构。提懂了对模块和模块之间交互的限制。(5)验证用例和质量场景并对其进行求精c对需要进一步分解的每个模块重复上述步骤。(1)选择要分解的模块:这里包括所有的模块,系统、子系统和子模块。(2)a.选择构架驱动因素。b.选择构架模式:目标在建立一个由模块类型组成的总体构架模式。该模式满足了构架驱动因素,是同组合选定战术来实现的。c.实例化模块并使用多个视图分配功能:c1:实例化模块,将分解的模块具体化。c2:分配功能。c3:用视图表示架构:主要有模块分解视图,并发视图,部署视图。d.定义子模块的接口。模块接口展示了所提供的服务,和所要求的属性。需编写于接口文档之中。分解视图接口文档:信息的生产者/消费者;要求模块提供服务并使用它们的交互模式。并发视图接口文档:线程间的交互,组建活动的信息,组件同步序列化大概还有阻塞呼叫的信息。部署视图的接口文档:硬件需求,时间需求,通信需求。e.验证并求精用例和质量属性场景17、创建骨架系统(利弊性)第九章18、视图:视图的概念为我们提供了进行软件架构编档的基本原则:构架编档就是将相关视图编程文档,然后想其中添加适合多个视图的文件。该原则把构架编档问题分成了更多的易处理的部分,因此是有用的。19、构架是什么为什么构架是这样的;基本原理构架是什么:包括系统概述,视图之间的映射,元素列表,项目词汇。基本原理:跨视图文档的基本原理解释了构架实际上是其需求的一个解决方案,可以使用该基本原理解释:1.关于满足需求或满足限制条件的系统范围内设计决策的意义2.当添加一个有预见性的新需求或改变现有需求是对架构的影响3.在实现解决方案中队开发人员的限制。4.拒绝采用的决策方案。第十章20、名词解释构架重构:是一种解释、交互和迭代的过程,涉及许多获得;它并不是自动进行的。它需要反向工程专家和设计师具备相关技能并投入精力,这在很大程度上是因为在源代码中并没有清楚的表示构架构件。重构活动:1、信息提取:该活动的目的是从各种源提取信息。2、数据库构造。3、视图融合:视图融合将数据库中的信息组合在一起,以生成该构架的一个内聚的视图。4、重构:在重构活动中,主要工作是构建数据抽象和各种表示以生成构架表示。21、Wqe第十一章22、ATAM的阶段包括4个阶段:阶段活动参与人员时间1关系和准备评估小组负责人和主要的项目决策者大约需要几周时间2部分评估评估小组和项目决策者1周,然后中断2-3周3全体评估评估小组、项目决策者以及涉众2天4后续工作评估小组和客户1周23、评估阶段的步骤(前5步):第一步:ATAM方法的表述。第二步:商业动机的表述。第三步:构架的表述。第四步:对构架方法进行分类。第五步:生成质量属性效用树。第十二章(可能论述题)24、实现CBAM:CMAM的过程流程图。步骤1:整理场景:确定这些场景的优先级,选择优先级最高的前1/3的场景步骤2:对场景进行求精:确定该场景的最好情况、最坏情况、当前情况和期望情况的质量属性响应级别步骤3确定场景的优先级:去掉优先级低的一半场景步骤4:为每一个场景的当前级别和期望级别分配效用步骤5:为场景开发构架策略,并确定质量属性响应级别步骤6:使用内插法确定所期望的构架策略效用值步骤7:计算从某个构架策略中获得的总收益步骤8:根据受成本限制影响的ROI选择构架策略步骤9:运用直觉来确认所得到的结果25、········
本文标题:软件构架实践修改
链接地址:https://www.777doc.com/doc-1991304 .html