Maintainability-Oriented Software
Construction Approaches
软件维护在软件工程中是对软件的改进
一个软件产品在交付后要纠正错误,加以改进
性能或其他属性。
可维护性的问题:? 设计结构
是否足够简单?
模块之间是否松散耦合?
模块内部是否高度聚合?
是否使用了非常深的继承树,是否使用了
delegation替代继承?
代码的圈复杂度是否太高?
是否存在重复代码?
圈复杂度圈复杂度测量
代码的结构复杂性。
-它是通过计算不同代码的数量而创建的
程序流中的路径。
-具有复杂控制流程的程序将需要
更多的测试,以实现良好的代码覆盖率,并将
更少的维护
模块化设计的五种规则:
Direct Mapping (直接映射)
Few Interfaces (尽可能少的接口)
Small Interfaces (尽可能小的接口)
Explicit Interfaces (显式接口)
Information Hiding (信息隐藏)
单一责任原则:
不应该有多于1个原因让你的ADT发生变化,否则就
拆分开
(面向变化的)开放/封闭原则:
(模块的行为应是可扩展的,从而该模块可表现出新的行为以满足需求的变化)
但模块自身的代码是不应被修改的)
扩展模块行为的一般途径是修改模块的内部实现
如果一个模块不能被修改,那么它通常被认为是具有固定的行为
Liskov替换原则:
子类型必
须能够替换其基类型
派生类必须
能够通过其基类的接口使用,客户端无需了解二者之间的差异
接口隔离原则
不能强迫客户端依赖于它们
不需要的接口:只提供必需的接口
依赖转置原则
抽象的模块不应依赖于具体
的模块
具体应依赖于抽象

Maintainability-Oriented Software Construction Approaches相关推荐

  1. 1 Views and Quality Objectives of Software Construction

    文章目录 1. 软件构造过程中的多维视图 每一部分的具体内容-->Build-time 每一部分的具体内容-->Run-time 2. 视图之间的联系 3. 软件系统的质量 外部因素 内部 ...

  2. SCons: A software construction tool

    SCons: A software construction tool What is SCons? SCons is an Open Source software construction too ...

  3. 2021-06-29 Views and Quality Objectives of Software Construction 软件构造的多维度视图和质量目标

    第一章:Views and Quality Objectives of Software Construction 软件构造的多维度视图和质量目标 目标 1.从三个维度看软件系统的构成 2.用什么样的 ...

  4. SC Chapter 1:Views and Quality Objectives of Software Construction Review

    Chapter 1: Views and Quality Objectives of Software Construction 1.1 Multi-Dimensional Views of Soft ...

  5. 哈工大软件构造学习笔记1 Views and Quality Objectives of Software Construction

    先要搞清楚软件构造的对象是什么,如何刻画,在关注如何构造. 1,Five key quality objectives of software construction 软件构造的五个关键质量目标 容 ...

  6. Review of Software Construction

    ソフトウェア構築の復習 @1.0 ver. 文章目录 ソフトウェア構築の復習 @1.0 ver. @[toc] 第一章 第一节 软件构造的多维视图 Buildtime概述 Runtime概述 第二节 ...

  7. HIT Software Construction Review Notes(2-2 Process, Systems, and Tools of Software Construction)

    第二章 软件构造的过程和工具 2.2软件构造的过程,系统和工具 1.软件构造的一般过程 软件构造的一般过程 (1)编程 Constructionlanguages ·       编程语言(例如C,C ...

  8. HIT Software Construction Review Notes(1-1 Multi-Dimensional Views of Software Construction)

    第1章:软件构造的观点和质量目标 1.1软件构造的多维视图 1.多维度的软件视图: 1.分阶段--构建时和运行时的视图 2.分动态--时刻和周期的视图 3.分级别--代码和组件的视图 软件构造:视图之 ...

  9. MIT 6.031 Software Construction Lab1-Part2-Personal-Art

    利用Turtle Graphics制作一些比较有趣的图形. Turtle Graphics的模型支持点的连续移动,主要通过调用turn()和forward()方法. 适合用来绘制连续函数的图象,可以利 ...

最新文章

  1. 5 步助你成为一名优秀的 Docker 代码贡献者
  2. [20181220]使用提示OR_EXPAND优化.txt
  3. c++ string 删除字符_字符串操作的全面总结(附完整代码)
  4. CDH-5.13.1离线安装教程
  5. 染色法判断是否是二分图
  6. winrar注册码激活码
  7. IT桌面运维常识系列 -(Windows脚本)
  8. 基于JAVA的旅游企业财务管理系统源码【包调试】
  9. 前端数据可视化—Echart——笔记整理
  10. 方便的支付宝第三方平台,三分钟教你搭建
  11. 域无法在加入计算机,计算机无法加入域的终级解决方法
  12. T-SQL技巧的独孤求败阶段论
  13. excel 画散点图 怎么设置图片的分辨率_最全的Excel图表的基本类型与选择
  14. sql内外连接的区别
  15. Scratch编程与游戏:大鱼吃小鱼!
  16. 计算机网络IP地址分配
  17. 电脑上怎么绘制流程图?三分钟快速绘制流程图的秘诀
  18. R及R Studio下载及简单介绍(界面+R语言)
  19. RAID5系统架构和扩容
  20. 为什么在游戏开发中我不喜欢用MVC系列模式了

热门文章

  1. [玩游戏]-罪案现场全集打包下载
  2. (五十二):多模态情感分析研究综述_张亚洲
  3. 网上作业批改系统的设计与实现(JSP,MySQL)
  4. [开发浏览器实战]关于Firefox火狐浏览器的说明一二(国内版 国际版区别 账号切换 插件-恢复关闭的标签页 插件-tempermonkey油猴)
  5. 关于.net的一则笑话(无奈一笑)
  6. 美国男人欢迎中国的丑女人?------------说说洁
  7. 在Postfix邮件服务器上部署SSL证书
  8. Oracle 11g 学习笔记-6(触发器、函数、存储过程、程序包)
  9. 夏天来了,来吃鹅厂新瓜,小马哥已吃
  10. 2023税务师DA考点抢先学