软件构造复习(1)
Chapter 1: Views and Quality Objectives of Software Construction
1.软件的多维视图
1.1Multi-dimensional software view
Build-time:关注软件的构造阶段。Code-level:这一维度关注代码的逻辑组织,也就是源代码是如何被方法、函数、类和接口等底层模块组织起来的,以及其中代码之间的依关系。
Component-level:这一维度关注代码的物理组织,即代码块之间的关系,如文件、包等等。
Moment view:关注特定时刻的软件状态。
Period view:关注软件形态随时间的变化。
举几个例子:
(1)Build-time, period, and code-level view
例:Code Churn :关注代码在构建期间的变化,比如代码行的添加,对文件的调整或删除。
(2)uild-time, period, and component-level view
例:Configuration Item,Version
关注软件版本的更新。
这里还介绍了一个版本记录工具:Version Control System(VCS)
Run-time:关注代码的运行阶段。
Code-level view(代码层面):逻辑实体在内存中如何呈现?
Component-level view(构件层面):物理实体在物理硬件环境中如何呈现?
(3)Run-time, moment, and component-level view
例:Package,Library,Dynamic linking,Configuration,Database,Middleware,Network
1.2 Quality Objectives of Software Construction
1.软件系统的质量
外部质量因素影响用户,内部质量因素影响软件本身和它的开发者,外部质量取决于内部质量。
外部质量因素
(1)External1:Correctness(正确性)(最重要)
(2)External 2: Robustness(健壮性)
(3)External 3: Extendibility(可扩展性)
(4)External 4: Reusability(可复用性)
(5)External 5: Compatibility(兼容性)
(6)External 6: Efficiency(效率)
(7)External 7: Portability (可移植性)
(8)External 8: Ease of use(易用性)
(9)External 9: Functionality(功能性)
(10)External 10++: Other qualitiesVerifiability (可验证性)、Repairability (可修复性)等
内部质量因素
多因素的折中
注意:正确性不能折中处理
五个重要的质量指标
(1)Elegant and beautiful code:即容易理解的程序。
(2)Design for/with reuse:提高可复用性,开发成本低。
(3)Low complexity:易于修改扩展。
(4)Robustness and correctness:保证程序健壮性和正确性。
(5)Performance and efficiency:执行效率高。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)