资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
内容:软件体系结构作业提交时间:20年一月日姓名:学号:班级:计算机短号:11.3如何评估软件设计的质量?答:评估一个软件设计质量如何,首先看该设计是否能满足软件的功能 需求。除此之外,软件的评估还应当包含可读性、可复用性、可扩展性、可维 护性等。可读性:软件的设计文档是否轻易被其他程序员理解。可读性差的设计会 给大型软件的开发和维护过程带来严重的危害。可复用性:软件系统的架构、类、组件等单元能否很容易被本项目的其它 部分或者其它项目复用。可扩展性:软件面对需求变化时,功能或性能扩展的难易程度。可维护性:软件维护(主要是指软件错误的修改、遗漏功能的添加等)的 难易程度。11.6用你自己的话描述软件体系结构。答:软件体系结构定义为根据结构组织模式构成的软件系统族,表达了部 件和他们之间的关系。例如客户/服务器(Client /Server)结构、浏览器/ 服务器(Browser/Server )结构等。1体系结构风格:体系结构风格是描述特定系统组织方式的惯用范例,强 调组织模式和惯用范例。组织模式即静态表述的样例,惯用范例则是反映众多 系统共有的结构和语义。通常,体系结构风格独立于实际问题,强调了软件系 统中通用的组织结构,比如管道线,分层系统,客户机-服务器等等。体系结 构风格以这些组织结构定义了一类系统族。2设计模式:设计模式是软件问题高效和成熟的设计模板,模板包含了固 有问题的解决方案。设计模式可以看成规范了的小粒度的结构成分,并且独立 于编程语言或编程范例。设计模式的应用对软件系统的基础结构没有什么影 响,但可能对子系统的组织结构有较大影响。每个模式处理系统设计或实现中 一种特殊的重复出现的问题。例如,工厂模式,它为解决抽象部分和实现部分 独立变化的问题提供了一种通用结构。因此,设计模式更强调直接复用的程序 结。3应用框架:应用框架是整个或部分系统的可重用设计,表现为一组抽象 构件的集合以及构件实例间交互的方法。可以说,一个框架是一个可复用的设 计构件,它规定了应用的体系结构,间明了整个设计、协作构件之间的依赖关 系、责任分配和控制沉程,表现为一组拍象类以及其实例之间协作的方法,它为构件复用提供了上下文(Con tex t)关系。在很多情况下,框架通常以构件库 的形式出现,但构件库只是框架的一个重要部分。框架的关键还在于框架内对 象间的交互模式和控制流模式。体系结构风格、设计模式和应用框架的概念是从不同的目的和出发点讨论 软件体系结构,它们之间的概念经常互相借鉴和引用。11.10讨论作为有效模块化属性的信息隐蔽概念和模块独立性概念之间的 关系。答:1、信息隐蔽指在设计和确定模块时,使得一个模块内包含信息(过程 或数据),对于不需要这些信息的其他模块来说,是不能访问的。在面向对象方 法中,信息隐蔽是通过对象的封装性来实现的。2、信息隐蔽的概念与模块的独立性直接相关。模块独立性:1. 模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模 块的联系最少且接口简单2. 模块独立性是指模块内部各部分及模块间的关系的一种衡量标准,由内 聚和耦合来度量。信息隐蔽是将数据结构和处理过程的细节隐蔽在模块接口之后,用户不需 要了解模块内部的具体细节。模块独立性是指模块功能专一且避免与其他模块过多交互,即高内聚低耦通过信息隐蔽可以减少潜在的模块之间的交互,降低耦合,从而利于提高 模块的独立性;而模块间较少的交互则利于信息隐蔽,功能单一也能减少模块 间必需的交互,从而利于信息隐蔽。11.11耦合性的概念如何与软件可移植性相关联?举例支持你的论述。 答:耦合性是2个或多个模块相关的程度,可移植性是指软件从一个平台 /环境转移到另一个平台/环境的难易程度。耦合就是指两个模块间关系如何,互相或者依赖关系程度大,耦合性就高。所谓“耦合性”是指模块之间联系的紧密程度的一种度量,而软件的“可 移植性”是指将一个软件系统从一个计算机系统或环境移植到另一个计算机系 统或环境中运行时所需工作量的大小。可移植性是用一组子特性,包括简明性、 模块独立性、通用性、可扩充性、硬件独立性和软件系统独立性等,来衡量的。 如果一个软件具有可移植性,它必然耦合性低,这样模块独立性要强。例如, 有一个图形处理软件,它应具有二维几何图形处理、三维几何图形处理、图形 显示、外设控制、数据库管理、用户界面控制、设计分析等模块。如果这些模 块之间都是通过参数表来传递信息,那么它们之间的的耦合就是数据耦合或标 记耦合等,都是低耦合。将来如果想要把它们移植到另一个外部环境中,这些 模块容易修改(功能内聚),且接口清晰,修改可局部化。反言之,如果这些 模块都是功能内聚或信息内聚的模块,模块之间的耦合都是低耦合,也对可移 植性有促进。但不能讲具有低耦合性模块结构的软件一定具有可移植性,因为 是否具有可移植性还有其它因素的影响。一般来说,耦合性低移植就方便很多,所以实际开发中都尽量要求模块耦 合性低,对以后的工程维护和未来可能发生的向不同环境移植都有好处。所 以耦合性低可移植性就低。1114“重构”意味着迭代地修改整个设计吗?如果不是,它意味着什么? 答:不是。重构是用最简单的一句话说:就是要在不改变系统功能的情 况下,对系统的内部结构进行重新调整。重构的最直接目的在于改进软件系统 的内部架构。一个好的结构可以更加适应于需求的变化,更好的满足客户的需 求,最大限度的延长软件系统的生命周期。在不改变系统功能的情况下,改变 系统的实现方式。12.4在软件体系结构讨论中,经常会遇到体系结构风格、体系结构模式及 框架等术语,研究并描述这些术语之间的不同。答:体系结构风格描述了系统类别,包括:完成某种功能的一组构件, 实现构件间的“通信、合作和协调”的一组连接器,定义构件如何集成为一个 系统的约束,使设计者能通过分析系统的构成,来理解系统的整体性质的语义 模型。体系结构模式是在特定环境和一系列限制与约束下处理特定应用问题,能 够作为体系结构设计基础的体系结构解决方案。框架是一个特定应用领域问题的体系结构模式,是待实例化的完整系统。体系结构风格与体系结构模式概念相似,但体系结构风格是一般的,更抽 象,模糊的;而体系结构模式则更为具体,是具体环境下的解决方案。框架也 是具体环境下的解决方案,但从实现角度来说,体系结构模式强调的是设计方 案,而框架则是实现,是针对一类问题的可复用的实现。作业心得:通过这次作业有进一步学会了软件设计的质量的标准和方法,软件体系结构 的结构风格和模式以及应用框架,有效模块化属性的信息隐蔽概念和模块独立性 概念之间的关系和模块独立性,耦合性的概念,软件可移植性的概念,重构的基 本概念等知识。结合老师的教学内容和网上资料,更深的理解了以上的专业知识。 为理论知识的掌握更加深了。教师评语:
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号