《设计准则》PPT课件

《设计准则》PPT课件

ID:36852862

大小:274.25 KB

页数:29页

时间:2019-05-11

《设计准则》PPT课件_第1页
《设计准则》PPT课件_第2页
《设计准则》PPT课件_第3页
《设计准则》PPT课件_第4页
《设计准则》PPT课件_第5页
资源描述:

《《设计准则》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章设计准则I:正确性和健壮性DesignPrinciplesI CorrectnessandRobustness软件设计的目标:正确性、健壮性、灵活性、可重用性和高效性正确性、充分性灵活性、可重用性纯粹的极限程序设计XP(extremeprogramming)适应未来许多需求变化的设计3.1正确性和充分性目标:每个项目都要满足指定的需求,然后一起满足所有应用程序的需求。Goal:Thateachartifactsatisfiesdesignatedrequirements,andthattoge

2、thertheysatisfyalloftheapplication’srequirements.3.1.1实现正确的途径3.1.1.1达到正确性的非正式方法在确定最终结果之前,应该进行简单和模块化设计。一个设计足以实现需求设计必须完全可理解设计非常模块化一个正确设计有时称为…最小目标接下来……达到这个目标的常用方法是……3.1.1.2达到正确性的正式方法包含了用数学逻辑的方法来分析变量变化的方向。类不变式例:InvariantsforClassAutomobilemileage>=0mileage

3、<1000000vehicleID至少为8个字符value>=-300(300美元是一辆报废车的处理价格)originalPrice>=0(type==“REGULAR”&&value<=originalPrice)

4、

5、(type==“VINTAGE”&&value>=originalPrice)Automobile类的方法要考虑这些不变式,这正是我们经常将变量设为私有的原因。3.1.2模块接口3.1.2.1类的接口Shipment原始形式ShipmentsetVehicle()perishable

6、()getWidth()printRoute()describeType()getLength()getDuration()setType()getWeight()DimensionsgetWidth()getLength()getWeight()TransportationMeansgetDurationsetVehicle()printRoute()GoodsTypedescribeType()setType()perishable()ShipmentDimensionsTransportati

7、onMeansGoodsType通过接口使Shipment类的结构变清晰:两种表示方法Java部分实现代码:interfaceDimensions{publicdoublegetWidth();publicdoublegetLength();publicdoublegetWeight();}……classShipmentimplementsDimensions,TransportationMeans,GoodsType{publicdoublegetWidth(){……}……}3.1.2.2包的接口

8、purchases购买Furniture家具Clothing衣服Appliance设备<>PurchasesIFPricingSelectionClothingTryoutchatServerger聊天应用程序的模块,包含了服务包及客户包接口chatClientConversation会话ConversationManager会话管理ServerComm服务器通信Conversation-ServicesParticipant-ServicesDisplay显示ClientCo

9、mm客户端通信Message-ReceptionfloatcomputerConversationCharge()ConversationgetConversation(intaCoversationID)……3.1.3模块化3.1.3.1选择类领域类:应用程序特有的类domainclass例如:BankCustomerBankTransactionTeller足以让所有需求清晰化非领域类:一般类nondonmainclass例如:抽象类实用类用于补充设计和实现3.1.4为正确性和充分性而重整极限编

10、程(extremeprogramming,XP)是首先为给定的需求进行设计,然后在额外的需求变得透明时对设计和实现进行修改,这个过程称为重整(refactoring)。3.1.4.1重整:为类提升一个原始属性classMileage{intnominalMileageValue=0;intchassisMileageValue=0;intengineMileageValue=0;publicintcomputerEffectiveMileage(){……}}class

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。