软件工程课件 6_第1页
软件工程课件 6_第2页
软件工程课件 6_第3页
软件工程课件 6_第4页
软件工程课件 6_第5页
已阅读5页,还剩39页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第六章软件构造

内容GUI设计原则Java对象程序设计面向对象体系结构软件体系结构模式软件构造知识域主题的本体结构

实际考虑构造的管理软件构造基础复杂性最小化预测变更为验证而构造构造相关标准构造的模型构造的计划构造的度量构造的设计构造的语言构造的质量软件构造编码构造的测试复用集成简明原则副作用原则正确性原则注释原则语言原则5大编码原则

12条GUI设计原则

理解用户原则用户控制原则友好性原则左上角原则空间关系原则主动交流原则颜色适度原则分辨颜色原则字体适度原则尺寸相同原则左对齐原则按钮原则Point类的UML图

-myX():double-myY():doublePoint+getX():double+getY():double+Point(x:double,y:double)+Poin()SetPoint(x:double:double):voidCircle类

-blue:int-green:int-origin:Point-radius:double-red:intCircle+Circle(org:Point,rad:double)+getB():int+getG:int+getOrigin():Point+getR():int+getRadius():double+setOrigin(org:Point):void+setRadius(r:double):void+setRGB(r:int,g:int,b:int):voidSetPoint(x:double:double):void可见性(1)包。唯一的包名称前缀总是由全小写的ASCII字母组成,而且应该是一个顶级域名,诸如.com、.edu或其他正式的顶级名称。包名称的其余部分可根据组织自己内部的命名传统而定。使用点将各部分分开。例如:com.sun.eng、com.objectcentral.javatools类。类(和接口)名称应该是一个名词,描述类的目的。类名是大小写混合的,第一个字母大写,里面每个单词的首字母大写。使用完整的单词,避免使用缩写。例如:Point、Shape、MovieEditor、ClientList可见性(2)方法。方法应该使用动词,描述方法的目的。方法名称是大小写混写的,第一个字母小写,里面每个单词的首字母大写。对于一些通用的方法类型有一些传统的前缀,比如取值方法和设值方法分别使用get和set作为前缀。例如:getOrigin、findSmallest、drawGraph、saveModel变量。除了作为常量使用的情况之外,所有的变量名称都是大小写混合的,第一个字母小写,里面的每个单词的首字母大写。变量名应该尽量取的有意义,使阅读代码的人能了解变量的用途。例如:myMovie、editMovie、backgroudColor、lastItem常量。作为常量使用的变量名应该全部使用大写,单词间用下划线(“_”)分隔。例如:MAX_SIZE、R_PG13、TERM_LIMITPoint类和Color类的UML类图

-myX():double-myY():doublePoint+getX():double+getY():double+Point(x:double,y:double)+Poin()SetPoint(x:double:double):void-blue:int-green:int-red:intColor+Color(r:int,g:int,b:int)+getB():int+getG():int+getR():int+setRGB(r:int,g:int,b:int):void图书馆及其用户之间的关系

LibraryPerson0..*1..*ReaderBook1..*1110..*BorrowingPageLibraryBookObserver接口

Observable+addObserver()+notifyObservers()+update()<<interface>>ObserverupdateDoorSensorLightsGuardObservable+update()接口的另一种表示方式,用圆代代替<<interface>>简单的体系结构图(architecturediagram)

过程处理系统(proceduralprocessingsystem)中的处理过程(process)

模拟系统的体系结构图

过程处理系统的优缺点优点包括:(1)系统的总体行为,是各个处理部件的简单组合;(2)只要输入和输出数据合适,处理部件可以在不同系统中重复使用;(3)只要增加新的处理部件,系统可以很容易地扩展;(4)系统可以在大规模并行计算机(MassivelyParallelComputer)中运行,解决复杂的工程技术和科研难题。缺点包括:(1)它主要以一个批量(Batch)处理的方式执行,不太适合作交互式应用(InteractiveApplication);(2)当有大量和不同方式的输入和输出数据时,数据存储和管理就颇伤脑筋。客户机/服务器系统客户机/服务器系统的优缺点优点包括:(1)客户机与服务器分离,允许作长距离的连线运作。两者的开发也可以分开同时进行;(2)一个服务器,可以服务于多个客户机。缺点包括:(1)客户机与服务器的通讯依赖于网络,可能成为整体系统运作的瓶颈(若两者在同一台计算机上,则没有这个问题);(2)倘若服务器及其界面定义有改变,则客户机也要作相应改变。当客户机数量很大时,要保证每一个都有最新软件版本,就要费很大力气。万维网服务器和客户机的通讯

使用模型视图控制器(MVC)架构的网上应用

网上银行付款服务用的网页样本

有三层的结点

层级系统的另一种画法

层级系统的优缺点

优点包括;(1)在部件或结点中分设层有助把复杂的问题按功能分解,使整体设计更为清晰;(2)由于内层与外界隔绝,内层函数和服务受到有效的控制,只有界面层的对象作为界面类而向外界公开;(3)新的运算可以在界面层中引入,它们把内层(核心或持久)的一些运算合起来;(4)如果界面合适,某一个层可以反复用在不同地方。一个自成一体的层,也可以作为部件或结点使用。缺点包括:(1)层的个数多时,系统性能就会下降。因为界面函数可能要穿过好几层,才能到达某一内层;(2)标准化的层界面对能变得臃肿,降低函数调用的性能。三级体系结构的示例

四级体系结构的示例

多级系统的优缺点优点包括:(1)因为系统的功能分布在几个级或服务器上,系统维修和扩展都比较容易;(2)从底层到高层,可以分级控制,对不同级的客户机提供不同水平的服务;(3)方便企业水平的整合。通常的做法是把中间级与企业的其他系统连接起来;(4)多级系统可以扩充,以服务大量同时使用系统的客户机。例如,可把多个服务器群集起来。缺点包括:(1)各对客户机/服务器之间可能有多种不同的通讯协议;(2)由于数据要行经多级结点,而各个结点可能在不同的计算机和操作系统中,调试系统的整体运作性能就很不容易。使用群集法的四级系统

合用串行法和群集法的四级系统

代理的体系结构

画法不同的代理体系结构

代理体系结构的优缺点优点包括:(1)在处理复杂任务时,代理体系结构有高度的灵活性,统筹多个全自动或半自动的代理的活动;(2)系统可用渐进方式建立,并容许从原有系统逐步过渡;(3)由于各组功能分布在不同代理,系统比较容易维修和扩展;(4)系统很容易与多级系统合并使用,伸缩性强,便利企业水平的软件整合。缺点包括:(1)由于所有活动都经共用的消息总线传送,安全的问题必须尽早设计解决。例如外加密码则使网络负载增加,加密和解密也会影响系统性能;(2)消息总线要有统一的通讯协议,企业的整体计划就必须十分周详;(3)因为事务分布在多个代理处理,系统的性能调试可能比较困难。把多个相同或相容的结点连接而成的聚合

联邦体系结构

聚合和联邦体系结构的优缺点优点包括:(1)反复运用一些小的结点,就可以组合成庞大的软件系统。各个结点共享整个系统的一个共同视图,而系统结点则分布各地;(2)每一个结点都比较简单,并只通过少数界面与其他结点通讯;(3)体系结构非常灵活,没有中央集权,各结点或枢纽在本地有很强的控制力。缺点包括:(1)聚合不一定是最好的网络结构,消息传播要经过多个结点,速度受到缺点;(2)聚合容易由于某一点联络中断,而引起大面积网络通讯失灵;(3)假如各结点不完全相同,而数目又很多,保养维修的工作量就很大。体系结构中出现的结点类和连接器类

过程处理系统的体系结构模式

多级系统的体系结构模式

聚合和联邦系统的体系结构模式

代理系统的体系结构模式

要点软件的体系结构(Architecture)是系统实施的抽象描述,它概括了整体系统结构、功能部件分解、部件的本质和特性、部件的界面和之间的通讯协议和整体性布局策略及法则。良好的软件系统,必须有合理健全、内在一致的体系结构。面向对象的体系结构,与传统体系结构有所不同。它强调分布式对象的分配、部件及其界面、持久对象和面向对象通讯方法。要点软件体系结构有多种模式,必须对症下药,按照实际要求和限制,选择合适的一种。面向对象体系结构的通用模式可以:(1)把某一体系结构的总体性质与不同背景的人分享;(2)反复把体系结构的架构和模式,应用在不同系统和环境;(3)比较不同的体系结构,根据其长短处,作出总体性的决策。相关系统分析员论文题目论软件的选用和二次开发(1993)论自由软件的合理使用(2003)相关世界软件工程大会论文FeatureorientedrefactoringoflegacyapplicationsAquality-drivensystematicapproachforarchitectingdistributedsoftwareapplicationsPreciseModelingofDesignPatt

温馨提示

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

评论

0/150

提交评论