- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
重庆大学软件架构期末复习.docx
软件架构软件体系结构定义和意义定义:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、知道元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。意义:1体系结构是风险承担着进行交流的手段。2体系结构是早期设计决策的体现。(明确了约束、决定了结构、制约着质量属性、预测质量、使得控制更简单、有助于循序渐进的原型设计、可以作为培训的基础)3软件体系结构是可传递和可重用的模型。软件体系结构的产生、发展、兴起的原因以及发展现状产生:20世纪60年代的软件危机(成本日益增长、进度难控制、质量差、维护困难)使得人们开始重视软件工程。起初重心都放在数据结构和算法上,但随着规模越来越大越复杂、系统结构设计已经比数据结构和算法重要。因此在此背景下,软件体系结构认识到重要所在。对软件体系结构的系统、深入的研究将会成为提高软件生产率和解决软件维护问题的新的有希望的途径。软件体系结构产生于软件工程,结合了计算机体系结构和网络体系结构的思想,成为一门新的研究方向和独立学科。发展:从最初的“无结构”设计到现在的基于体系结构的软件开发,软件体系结构技术的发展经历了4个阶段。(1)“无体系结构”设计阶段。以汇编语言进行小规模应用程序开发为特征。(2)萌芽阶段。出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征。(3)初期阶段。出现了从不同侧面描述系统的结构模型,以UML为典型代表。(4)高级阶段。以描述系统的高层抽象结构为中心,不关心具体的建模细节,划分了体系结构模型与传统软件结构的界限,该阶段以4+1模型为标志。现阶段是20世纪90年代后的基于构件的软件的开发阶段,以过程为中心,强调软件开发采用构建化技术和体系结构技术,要求开发出的软件具备很强大的自适应性、互操作性、可扩展性和可重用性。此阶段软件体系结构已经作为一个明确的文档和中间产品存在于软件开发过程中。目前体系结构的研究活动主要包括有:1软件体系结构描述语言2体系结构描述构造与表示3体系结构分析、设计与验证4体系结构发现、演化与重用5基于体系结构的软件开发方法6特定领域的体系结构框架7软件体系结构的支持工具8软件产品线体系结构9建立评价软件体系结构的方法典型的构建实现模型(软件重用是指在两次或者多次不同的软件开发过程中重复使用相同或者相似软件元素的过程。)构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统。构件模型是对构件本质特征的抽象描述。目前国际上的模型目标和作用不同,已经有3个流派,分别是:OMG的CORBA(Common Object Request Broker Architecture);sun的EJB;Microsoft的DCOM(Distributed Component Object Model)。?构建获取方法1从现有构件中获得符合要求的构件,直接使用或做适应性的修改,得到可重用的构件。2通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件。3从市场上购买现成的商业构件,即COTS构件。4开发新的符合要求的构件。一个组织在进行以上决策的时候必须要考虑到不同方式获取构件的一次性成本和以后的维护成本,然后最优选择。4+1视图逻辑视图(Logical View)设计的对象模型(使用面向对象的设计方法时) 过程视图(Process View)捕捉设计的并发和同步特征物理视图(Physical View)描述了软件到硬件的映射,反映了分布式特性 开发视图(Development View)描述了在开发环境中软件的静态组织结构逻辑视图主要用来描述系统的功能需求. ?在逻辑视图中,系统分解成一系列的功能抽象、功能分解与功能分析,主要来自问题领域(Problem Definition)。? 在面向对象技术中,通过抽象、封装、继承,可以用对象模型代表逻辑视图,用类图(Class Diagram)描述逻辑视图。构件(Components):类、类服务、参数化类、类层次 连接件(Connectors):关联、包含聚集、使用、继承、实例化 开发视图主要用来描述软件模块的组织与管理,服务于软件编程人员。?开发视图的风格通常是层次结构,每个层为上一层提供良好定义的接口,层次越低,通用性越好。构件:模块、子系统、层连接件:参照相关性、模块/过程调用进程试图侧重系统的运行特性,关注非功能性的需求(性能,可用性)。服务于系统集成人员,方便后续性能测试。?强调并发性、分布性、集成性、鲁棒性(容错)、可扩充性、吞吐量等。定义逻辑视图中的各个类的具体操作是在哪一个线程(Thread)中被执行。 构件:进
文档评论(0)