hit软件构造课程总结【1】

Views and Quality Objectives of Software Construction
软件构造的多维度视图和质量目标
  • 1 Multi-dimensional software views
  • 软件构造的多维度视图
    • 按阶段划分: 构造时视图(代码、构件、配置项、版本等)和运行时视图(代码快照、内存转储、执行跟踪、事件日志等)。
    • 按动态性划分: 时刻视图(特定时刻的软件形态)和阶段视图(软件形态随时间的变化)。
    • 按构造对象的层次划分: 代码视图(源代码、抽象语法树、类图等)和构件视图(包、文件、静态链接、库、测试用例等)。
    • 软件构造:不同视图之间的转换
      • 从概念到代码
      • 从代码到构件
      • 从构造时到运行时
      • 从时刻到阶段
    • 软件系统的质量属性
      • 外部质量因素: 正确性、健壮性、可扩展性、可复用性、兼容性、效率、可移植性、易用性、功能性和及时性。
      • 内部质量因素: 代码相关因素(代码行数、循环复杂度等)和架构相关因素(耦合度、内聚度等)。
      • 质量属性之间的权衡: 开发者需要在不同的质量因素之间做出权衡,例如安全性与易用性、经济性与功能性、效率与可移植性等。
    • 软件构造的五个关键质量目标
      • 易于理解(代码优雅美观)
      • 易于修改(可维护性和可扩展性)
      • 开发成本低(设计复用)
      • 安全可靠(健壮性)
      • 运行效率高(性能)
    • 面向质量目标的软件构造技术
      • 面向可理解性:代码审查、静态代码分析、ADT/函数规约等。
      • 面向可复用性:ADT/OOP、接口与实现分离、继承/重载/重写、组合/代理、多态、子类型与泛型、OO设计模式、API设计、库、框架等。
      • 面向可维护性和可扩展性:模块化设计、SOLID原则、OO设计模式、状态编程、基于语法的编程等。
      • 面向健壮性:错误处理、异常处理、断言、防御式编程、测试驱动开发、持续集成、回归测试等。
      • 面向性能:代码优化、设计模式、空间复杂性、时间复杂性、内存转储、垃圾回收、分布式系统、性能分析、并行/多线程等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值