软件工程-软件体系结构_第1页
软件工程-软件体系结构_第2页
软件工程-软件体系结构_第3页
软件工程-软件体系结构_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论