《设计准则》PPT课件.ppt
《《设计准则》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《设计准则》PPT课件.ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 设计准则设计准则 I:正确性和健壮性正确性和健壮性Design Principles ICorrectness and Robustness软件设计的目标:软件设计的目标:正确性、健壮性、灵活性、可重用性和高效性正确性、充分性灵活性、可重用性纯粹的极限程序设计XP(extreme programming)适应未来许多需求变化的设计3.1 正确性和充分性正确性和充分性 目标目标:每个项目都要满足指定的需求,每个项目都要满足指定的需求,然后然后一一 起满足所有应用程序的需求。起满足所有应用程序的需求。Goal:That each artifact satisfies designat
2、ed requirements,and that together they satisfy all of the applications requirements.3.1.1 3.1.1 实现正确的途径实现正确的途径实现正确的途径实现正确的途径3.1.1.1 3.1.1.1 达到正确性的非正式方法达到正确性的非正式方法达到正确性的非正式方法达到正确性的非正式方法 在确定最终结果之前,在确定最终结果之前,在确定最终结果之前,在确定最终结果之前,应该进行简单和模块化设计。应该进行简单和模块化设计。应该进行简单和模块化设计。应该进行简单和模块化设计。一个设计足以实现需求一个设计足以实现需求设计必
3、须完全可理解设计必须完全可理解设计非常模块化设计非常模块化一个正确设计一个正确设计有时称为有时称为最小目标最小目标接下来接下来达到这个目标的常用达到这个目标的常用方法是方法是3.1.1.2 3.1.1.2 达到正确性的正式方法达到正确性的正式方法达到正确性的正式方法达到正确性的正式方法 包含了用数学逻辑的方法来分析变量变化的方向。包含了用数学逻辑的方法来分析变量变化的方向。包含了用数学逻辑的方法来分析变量变化的方向。包含了用数学逻辑的方法来分析变量变化的方向。类不变式类不变式例例:Invariants for Class Automobile1.mileage=02.mileage=-300(
4、300美元是一辆报废车的处理价格美元是一辆报废车的处理价格)5.originalPrice=06.(type=“REGULAR”&value=originalPrice)Automobile类的方法要考虑这些不变式,这正是我们经常将变量设为私有的原因。3.1.2 模块接口模块接口3.1.2.1 类的接口类的接口Shipment原始形式原始形式ShipmentsetVehicle()perishable()getWidth()printRoute()describeType()getLength()getDuration()setType()getWeight()DimensionsgetWid
5、th()getLength()getWeight()TransportationMeansgetDurationsetVehicle()printRoute()GoodsTypedescribeType()setType()perishable()ShipmentDimensionsTransportationMeansGoodsType通过接口使通过接口使Shipment类的结构变清晰类的结构变清晰:两种表示方法两种表示方法Java 部分实现代码:interface Dimensions public double getWidth();public double getLength();p
6、ublic double getWeight();class Shipment implements Dimensions,TransportationMeans,GoodsType public double getWidth()3.1.2.2 包的接口包的接口purchases购买购买Furniture家具家具Clothing衣服衣服Appliance设备设备PurchasesIFPricingSelectionClothingTryoutchatServerger聊天应用程序的模块,包含了服务包及客户包接口聊天应用程序的模块,包含了服务包及客户包接口chatClientConversat
7、ion 会话会话ConversationManager会话管理会话管理ServerComm服务器通信服务器通信Conversation-ServicesParticipant-ServicesDisplay显示显示ClientComm客户端通信客户端通信Message-Receptionfloat computerConversationCharge()Conversation getConversation(int aCoversationID)3.1.3 3.1.3 模块化模块化模块化模块化3.1.3.1 3.1.3.1 选择类选择类选择类选择类领域类领域类:应用程序特有的类应用程序特有的
8、类 domain class 例如例如:BankCustomer BankTransaction Teller 足以让所有需求清晰化足以让所有需求清晰化非领域类非领域类:一般类一般类 nondonmain class 例如例如:抽象类抽象类 实用类实用类 用于补充设计和实现用于补充设计和实现3.1.4 为正确性和充分性而重整为正确性和充分性而重整 极限编程极限编程(extreme programming,XP)是是首先为给定的需求进行设计,首先为给定的需求进行设计,然后在额外然后在额外的需求变得透明时对设计和实现进行修改,的需求变得透明时对设计和实现进行修改,这个过程称为重整这个过程称为重整(
9、refactoring)。3.1.4.1 重整重整:为类提升一个原始属性为类提升一个原始属性class Mileage int nominalMileageValue=0;int chassisMileageValue=0;int engineMileageValue=0;public int computerEffectiveMileage()class Automobile Mileage mileage;3.1.4.2 重整重整:引入抽象基类和接口引入抽象基类和接口abstract class MyAbstractClassClass AnotherClassMyAbstractClas
10、s m=new MyAbstractClass();/does not compileClass AnotherClassMyabstractClass m;/no problem:just a declarationm=getObjectOfMyAbstractClass();/returns obj.non-abstract subclass;m=new ConcreteSubclassOfMyAbstractClass();/no problem 3.2 健壮性健壮性 如果设计或实现能处理各种各样的异常情况,如果设计或实现能处理各种各样的异常情况,比如数据错误、用户错误、环境条件,那么比
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计准则 设计 准则 PPT 课件
限制150内