《软件设计原则》PPT课件.ppt

《软件设计原则》PPT课件.ppt

ID:52110235

大小:3.86 MB

页数:111页

时间:2020-03-31

《软件设计原则》PPT课件.ppt_第1页
《软件设计原则》PPT课件.ppt_第2页
《软件设计原则》PPT课件.ppt_第3页
《软件设计原则》PPT课件.ppt_第4页
《软件设计原则》PPT课件.ppt_第5页
资源描述:

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

1、软件设计原则面向对象的设计原则可维护性;可复用性;开闭原则接口抽象类里氏代换原则依赖倒转原则接口隔离原则合成/聚合复用原则迪米特法则软件可维护性设计一个维护中的软件是不断再生的软件。修改需求,流程、界面等细节变更,修改积累,往往导致原有软件结构混乱,软件腐烂(可维护性差,可升级性差)。系统设计师:辩解用户需求变化多;软件腐烂:过于僵硬rigidity过于脆弱fragility复用率低immobility黏度高viscosity软件可维护性设计软件腐烂:过于僵硬rigidity添加一个新功能,很困难,

2、牵扯多,周期长过于脆弱fragility一个地方修改,导致其他地方出现故障,甚至不可预期;复用率低immobility1、想复用A模块,但A牵扯BCDE…,牵扯太多,不敢被复用;2、不同模块中的重复功能,重复实现,发现问题,重复修改。黏度高viscosity1、修改,保持原有设计;2、修改破坏原有设计如果总体设计,总是导致2的实现比1容易,就是黏度过高黏度高过会诱导程序员采用错误的方案,并导致软件逐渐腐烂软件可维护性设计可维护性设计目标可扩展性extensibility;加入新模块,不影响原有模块灵

3、活性flexibility;修改一个模块,不影响其他模块可插入性pluggability可以很容易的去掉一个模块,更换一个模块,加入一个新模块,而不影响其他模块。面向对象的设计原则可维护性;可复用性;开闭原则接口抽象类里氏代换原则依赖倒转原则接口隔离原则合成/聚合复用原则迪米特法则软件可复用性(reuse)设计1复用的重要性:1、较高的效率;2、较高的软件质量;3、较好的可维护性。传统的复用1、复制、剪切代码;2、算法的复用;3、数据结构的复用;传统复用,往往会破坏软件的可维护性。AB共用C,如果A

4、要修改C,B不允许。软件可复用性(reuse)设计2面向对象设计的复用:数据的抽象化、封装、继承、多态。复用的焦点集中在含有宏观商业逻辑的抽象层面;而不局限于函数和算法。对可维护性的支持可扩展性extensibility;封装,继承,多态由开闭原则、里氏代换原则、依赖倒转原则、组合/聚合复用保证灵活性flexibility;复用,相对独立,与其他模块松耦合。该模块修改后,不会传递到其他模块。由开闭原则、迪米特法则、接口隔离原则保证。可插入性pluggability复用后,新类替代旧类,容易实现。由开

5、闭原则、里氏代换原则、组合/聚合服用原则和依赖倒转原则保证。面向对象的设计原则可维护性;可复用性;开闭原则接口抽象类里氏代换原则依赖倒转原则接口隔离原则合成/聚合复用原则迪米特法则开-闭原则1开-闭原则OCP:open-closedprinciple):一个软件实体,应当对扩展开放,对修改关闭。设计一个模块时,应当使该模块在不被修改前提下被扩展;即不修改源代码,而改变该模块的行为。加个代码例子满足开-闭原则的设计的优越性:1、具备适应性和灵活性;2、稳定性和延续性;实现该原则,是在更高层次上,实现了

6、复用的、易于维护的系统。开-闭原则2关键点:抽象化抽象设计:给系统定义出一个一劳永逸、不再修改的抽象设计。允许此设计有无穷无尽的行为在实现层被实现。JAVA中,抽象JAVA类或JAVA接口,规定所有具体类必须提供的方法的特征,作为系统设计的抽象层。该抽象层预见了所有的可能的扩展。因此,在扩展中,抽象层不需要修改。满足了开闭原则中“对修改关闭”的原则。同时,从抽象层导出的具体新类可以改变系统的行为,又是对扩展开放的。开-闭原则3关键点:抽象化—但往往归纳较为困难汽车的定义:按照国家最新标准GB/T37

7、30.1—2001对汽车的定义:由动力驱动,具有四个或四个以上车轮的非轨道承载的车辆,主要用于:载运人员和(或)货物;牵引载运人员和(或)货物的车辆;特殊用途。本术语还包括:a)与电力线相联的车辆,如无轨电车;b)整车整备质量超过400kg的三轮车辆。电车算汽车,马拉四轮车呢?美国汽车工程师学会标准SAEJ687C中对汽车的定义是:由本身动力驱动,装有驾驶装置,能在固定轨道以外的道路或地域上运送客货或牵引车辆的车辆。2轮摩托车算汽车吗?日本工业标准JISK0101中对汽车的定义是:自身装有发动机和操

8、纵装置,不依靠固定轨道和架线能在陆上行驶的车辆。开-闭原则3对可变性的封装原则考虑设计中什么可能会发生变化,将其封装起来,考虑允许什么发生而不让这一变化导致重新设计。意味着:1、一种可变性不应当散落在代码的很多角落里,而应当被封装到一个对象里面。同一种可变性的不同表象,意味着同一个继承等级结构中的具体子类。继承,应被看做是封装变化的方法。2、一种可变性不应当与另一种可变性混合在一起。类图的继承结构,一般不会超过两层,否则,意味着两种不同的可变性混在了一起?开-闭原则4

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

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

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