欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    [计算机]软件构架实践.doc

    • 资源ID:4561300       资源大小:60KB        全文页数:6页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机]软件构架实践.doc

    什么是软件构架?P19程序或计算系统的软件构架是该系统的一个(或多个)结构,它由软件元素、元素的外部可见属性以及他们之间的关系组成。具体概念见P19.1 构架定义了软件元素。各个元素通过接口实现交互。接口又将各元素的细节划分为共有和私有两种。2 该定义明确指出系统可能而且确实由多个结构组成。3 该定义意味着具有软件的每个计算系统都有一个软件构架,4 只要某个元素的行为可以从其他元素的角度观察到或区别开,这个元素的行为就是构架的内容。如果某个元素的行为对与之交互的另一个元素的代码编写有特定的要求,或者影响到整个系统的可接受性,则该行为就是软件构架的一部分。软件设计中的框架和架构的区别?框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。 构架和架构也就是通常所说的软件体系结构(software architecture).体系结构一般包括三个部分:构件,用于描述计算;连接器,用于描述构件的连接部分;配置,将构件和连接器组成一个有机整体.体系结构与框架(Framework)的区别与联系如下: 1呈现形式不同体系结构的呈现形式是一个设计规约,而框架则是程序代码 2目的不同体系结构的首要目的大多是指导一个软件系统的实施与开发;而框架的首要目的是为复用因此,一个框架可有其体系结构,用于指导该框架的开发,反之不然 3有种特殊的体系结构,DSSA(领域特定体系结构)其首要目的也是为了复用 4有个叫体系结构风格的东西,将它用程序代码实现后就成了Corba,COM之类的东西,它们俩叫体系结构框架,也叫中间件集成框架,又有人愿意叫它对象中间件软件构架与软件设计是否相同?P1它们是不同的。软件构架是设计过程的重要组成部分。软件过程告诉我们实现系统的过程应该是创建软件构架,使用构架实现设计,然后实现或管理目标系统或应用软件的演变。软件构架包含大型软件系统的结构,系统的构架视图是抽象的,它不考虑实现、算法和数据表示的细节。在设计具有所期望属性的系统时,开发软件构架是第一步。同时软件构架是软件系统的核心,它对于整个软件系统的设计开发和使用具有深远的影响。软件构架并不会随着某个软件系统生命期的结束而终结。目前,大多数的软件设计者一直接受的是完全按照系统的技术需求表述进行系统设计,而忽略了软件构架对于整个软件的作用。软件构架与构建系统时的环境及系统未来所处的环境有什么关系?或曰什么是软件商业周期ABC? P5软件构架是技术、商业和社会等诸多因素作用的结果,而软件构架的存在反过来又会影响技术、商业和社会环境,从而影响到未来的构架,我们把这种相互影响的周期从环境到构架又返回到环境成为构架商业周期。构架为何产生?或曰软件构架的影响因素?P6首先,构架是若干商业和技术决策的结果,构架的设计受诸多因素的影响:构架受系统涉众的影响,受开发组织的影响,受设计师的素质和经验的影响,受技术环境的影响以及其他因素的影响。而这些影响因素的实现又随构架所处环境的不同而异。比如时间要求,系统要求,硬件环境,支持软件和人力资源等。软件构架的重要性(商业层面)P101. 构架影响着开发组织的结构2. 构架会影响开发组织的目标3. 构架可能会影响客户对下一个系统的要求。4. 构建系统的过程丰富了整个开发团体的经验,从而将影响设计师对后继系统的设计5. 一些典型的系统会影响并改变软件工程的发展,也就是系统开发人员学习和时间的技术环境。什么是软件过程?软件过程包括哪些活动?P11我们把对软件开发活动的组织、规范和管理成为软件过程。即创建软件构架,使用构架实现设计,然后实现或管理目标系统或应用软件的演变。它包括为系统穿件一个商业案例、理解系统需求、创建或选择构架、为构架编写文档,并与有关各方进行交流、对此构架进行分析和评价、根据此构架实现系统、保证系统实现符合构架的要求。构架的分析和评估中提到:针对构架所支持的质量属性对构架进行评估对于确保采用该构架构造的系统满足了其涉众的需要是基本的,现在,广泛使用的一种分析方法是对构架给予系统的质量属性进行评估。基于场景的技巧提供了对构架进行评估的一个最有效也是最通用的方法。实现基于该架构的系统的主要任务是:保证开发人员在实际开发中忠实于构架所规定的结构,遵守关于各部分之间交互的约定。表述清楚并为各方所理解的构架是保证实际设计与构架一致的重要条件.什么样的构架才算好?P13构架不是注定好的或是坏的。必须针对某种特定目标的情况下进行评估才可以。但是设计构架中总要遵循某种原则。设计构架所遵循的原则?P14软件开发中所获得的经验分为两大类:关于过程的建议和关于产品的建议。在关于产品的建议中提到要将产生数据的模块和使用数据的模块分离开。这样可以提高系统的可修改性。因为如果要修改数据的话,分离开的可对系统进行分阶段逐步(增量式)升级。构架模式、参考模型和参考构架的定义及其关系P21构架模式是对元素和关系类型以及一组对其使用方式的限制的描述。可以吧构架模式看作是对构架的一组制约条件-即对个元素类型和交互模式的限制条件,而这些制约条件就确定了一组或一系列能满足它们的构架。模式最有用的一个方面就是它们展示了已知的质量属性。选择构架模式通常是设计师做出的第一个主要的涉及决策。参考模型是一种考虑数据流的功能划分。参考构架是映射到软件元素(它们相互协作,共同实现在参考模型中定义的功能)以及元素之间数据流上的参考模型。三者之间的关系详细见P22软件构架的重要性:(技术层面) P17、P23构架的开发需要付出一定的成本,但它能使开发组织达到自己的系统目标并提高其软件开发能力,这种回报是相当丰厚的,对开发组织而言,构架是一种极重要的资产,其作用超出所开发的项目本身1. 涉众之间的交流软件构架是一种常见的对系统的抽象,构架为不同的涉众提供了一种共同语言,有关各方可以借助它表达和协商各自的需求,并理性地找到解决方案2. 早期设计决策2.1构架明确了对系统实现的约束条件 在具体实现系统时必须按照构架的设计,将系统分成若干元素,各元素必须按照设定的方式进行交互,而且各个元素也必须具有构架中所规定的外部特征。同样资源配置方面的决策也制约着系统实现。2.2构架决定了开发组织的组织结构。 常见的任务划分方法是将系统的不同部分交由系统的最高层次的分解,这就是 所谓的系统的工作分解结构。2.3构架阻止或支持系统的质量属性的实现 能否具有所期望的质量属性主要是由其构架决定的。2.4通过研究构架来预测系统质量 一些构架评估技巧可使我们自下而上地对按某软件构架开发出来的软件产品的质量属性做出比较准确的预测。2.5构架使推理判断和控制更改更简单 所开发的系统大部分处在维护阶段,即初次部署之后。并且在整个生命期内,软件系统在不断发生变化,这种变化经常发生而且要付出很高代价。 每个构架都将可能的更改划分为三类:本地的、非本地的、构架上的。一个富有生命力的构架应该是这样的:最有可能发生的更改也是最容易进行的更改。在构架层次上所做的推理判断能够为制定更改决策提供必要的洞察力。2.6构架有助于循序渐进的原型设计 确定构架后,就可以对其进行分析,获得一个骨架系统。这首先在产品生命期的早期获得一个可执行的系统。同时使系统在早期可执行的一个特例就是在产品生命期的早期确定潜在的性能问题。这两方面都将降低项目开发的风险。2.7可以通过构架进行更准确的成本和进度评估3. 可传递的系统抽象3.1产品线共享一个公共的构架 产品线设计师通过制定在早期适用于整个家族的设计决策,以及在后期仅使用与单个成员的其他决策,来选择一个满足产品显得所有预想成员的构架。该构架定义了对产品显得所有成员来说,什么是固定的,什么是可改变的。3.2系统开发可以使用大型的由其他组织开发的元素 基于构架的开发则更强调对各原色的装备或组合。构架从元素与环境的交互、对控制的接收和释放、所能使用或产生的数据、访问数据的方式、通信方式以及用于通信和资源共享的协议等方面对可能做的更换做了种种约定。3.3少就是多:限制选择范围是值得的我们希望所构建系统的设计尽可能简单。它有如下优势:重用成都高、易于理解和交流、更为透彻的分析、更短的选择时间、更强的可互操作性。3.4构架使基于模板的开发成为可能 可以在某处用模板将元素间的交互机制描述清楚。3.5构架可以作为培训的基础 对项目新成员介绍系统时,可以首先介绍系统的结构,以及对组建之间如何交互从而实现系统需求的高层次的描述。构架结构和视图的由来:软件系统复杂,在任何时刻,我们只把注意力放在软件系统的一个或几个结构上。为了有意义的传达构架的信息,必须说明此刻正在讨论哪个或哪些结构,即采用的是构架的哪个视图。什么是结构和视图?(P30)视图是构架元素内聚集的表示,由系统涉众编写和阅读。它由一个元素集的表示和元素之间的关系组成。(书面语言形式)结构是元素本身的集合,它们存在于软件或硬件中。(未表示的内在结构)二、构架结构有哪几类?1 模块结构此时元素是模块2 组件-连接器结构 此时元素是运行时组件(它们是计算的主要单元)和连接器(它们是组件间通信的工具)3 分配结构分配结构展示了软件元素和创建并执行软件的一个或多个外部环境中的元素之间的关系。三、模块类结构都有哪些具体的结构?分解、使用、分层、类或泛化四、组件-连接器结构都有哪些具体的结构?进程或通信进程、并发、共享数据或存储库、客户机-服务器五、分配结构都有哪些具体的结构?部署、实现、工作分配七、什么是软件产品线或家族?(P28)软件产品线或家族是一组软件密集型系统,这些系统共享一个公共的、可管理的特性集,满足了特定市场或任务的具体需要,是按照规定的方式根据一组公共的核心资产开发的。在这些核心资产中,主要部分就是设计用来处理整个家族需要的构架。八、系统的构架结构中的元素以及其关系的含义,并说明每种结构可能会用于什么情况?详细见P34那张表主要结构通常是模块分解,因为它容易与其他组织的项目结构吻合。九、应选择哪些结构?P35Philippe Kruchten建议重点放在4种结构上,逻辑的(模块视图)、进程(组件-连接器视图)、开发(分配视图)、物理的(也是分配视图).十、开发组织对软件构架的影响有哪几类?(详细见P8)有三类,长远影响、直接影响和组织结构的影响。十一、分析某个系统采用了哪种构架结构?P47构架结构的意义何在?P59分解结构:P47原文是这样说的,只要一个程序不是小得只需一个程序员就可以完成,就必须考虑如何将工作划分为可以独立实现的单元以及这些模块如何进行交互,分解结构的单元就是模块,可以把模块看作是定义了一组过程,一些共有的和一些私有的;以及一组私有的数据结构。分解结构中模块间关系是“是一个子模块”或“与之共享秘密”。构架结构的意义:加深我们对系统以及系统质量属性的理解,并实施理性地控制十二、信息隐藏的基本思想与面向对象设计基本思想的区别?P48面向对象设计中,对象是根据应用程序所设计的实际对象构建出来的,或者是根据对系统的只管想想而推想出来的;信息隐藏模块则是根据对系统生命期内可能发生的变化的分类而构建出来的模块划分的具体目标,即划分到什么时候停止划分?P481每个模块的结构应足够简单、能够被充分理解。2应该能够在无需了解其他模块的具体实现,并且不影响其他模块的行为的情况下修改某个模块的实现。3对设计进行修改的容易程度应该与该修改可能发生的程度有合理的对应关系。什么是模块指南?简要概述P4849分解模块的同时要生成文档,这被称作模块指南,它通过陈述将由该模块封装的设计决策,定义了每个模块的责任。该指南说明了将某个特定责任分配给某个模块的准则,并对各模块的组织做出了合理安排,使得要查找与某一目的有关信息时,不必翻阅与之无关的部分。理解功能性和构架的正交关系P63功能性是指系统能够完成所期望的工作的能力。功能性在很大程度上是独立于结构的。对于每个质量属性,都可以独立地选择所期望的级别。并且对所选择的任何功能,设计师都可以选择每个质量属性的相对级别。三类质量属性:系统的质量属性受构架影响的商业属性与构架本身相关的一些质量属性质量属性讨论中出现的三个问题及解决方案P66问题1。为属性提供的定义并不是可操作的。问题2。讨论的重点通常是一个特定的方面属于哪个质量属性。问题3。每个属性团体都开发了其自己的词汇。解决方案:前两个问题使用质量属性场景 第三个问题要讨论一下每个属性,以说明对该属性团体来说很基本的概念。质量属性场景:P66包含6部分-刺激源(施暴者)、刺激(施暴行为)、环境、制品(受暴者)、响应(所采取的反暴措施)、响应度量(应该得到的结果)质量属性一般场景与质量属性具体场景及其关系P666869前者是指那些独立于系统,很可能适合任何系统的场景,后者是指适合正在考虑的某个特定系统的场景。对于每个属性,我们都提供了一个表,该表对质量属性中的每一部分都给出了可能的独立于系统的值。通过为每个元素选择一个值来生成一般的质量属性场景;通过从该表的每一列选择一个或多个条目,然后使结果变得可读来生成具体场景,我们把它作为需求获取的一部分。我们通过生成具体的质量属性场景来获取系统的质量属性需求并记录下来,通常首先使用特定于质量属性的表来创建一般场景,并根据这些一般场景得出特定于系统的场景。并且可以把表看作检查列表,以确保所有可能性都已考虑在内。

    注意事项

    本文([计算机]软件构架实践.doc)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开