软件构造学习笔记(1)
第一讲 软件构造的多维视图和质量目标
1.软件的多维视图
构造阶段:
Code-level view(代码层面):代码的逻辑组织
Component-level view(构建层面):代码的物理组织
Moment view(瞬时角度):特定时刻的软件形态
Period view(周期角度):软件形态随时间的变化
运行阶段:
运行阶段:程序被载入目标机器,开始执行
Code-level view(代码层面):逻辑实体在内存中如何呈现
Component-level view(构建层面):物理实体在物理硬件环境中如何呈现
Moment view(瞬时角度):逻辑/物理实体在内存/硬件环境中特定时刻的形态如何
Period view(周期角度):逻辑/物理实体在内存/硬件环境中的形态随时间如何变化
2.视图之间的转换
转换btw视图
软件构建中的转换类型:
● ∅ → 代码
● 代码 → 组件
● 构造阶段 → 运行阶段
● 瞬时 → 周期
3.软件系统的质量属性和5个关键质量目标
外部质量因素
取决于内部质量,影响用户。
1、正确性:软件按照预先定义的规约执行,是最重要的质量指标。
维护正确性方法:
(1) 测试和调试:发现不正确、消除不正确
(2)防御式编程:在写程序的时候就确保正确性
(3)形式化方法:通过形式化验证发现问题
2、鲁棒性(健壮性):软件系统针对异常情况处理的能力,是对正确性的补充。
3、可扩展性:对软件的规约进行修改,是否足够容易。
4、可重用性:软件的一次开发可以多次应用的能力。
5、兼容性:不同的软件系统之间相互可容易的集成。
6、性能:软件系统在硬件资源上有尽可能少的开销。
7、可移植性:软件可方便的在不同的技术环境之间移植。
8、易用性:不同背景的人应易于学习使用软件产品。
9、功能。
10、及时性:软件系统是否能及时发布。
其他属性:可验证性、完整性、可修复性、经济性等。
内部质量因素
可读性、易懂性、清晰性、大小。
在软件开发过程中往往需要对不同的质量属性作出折中,同时在正确的软件开发过程中,开发者应该将不同质量因素之间如何做出折中的设计决策和标准明确的写下来,并且虽然需要作出折中,但“正确性”绝不能与其他质量因素折中。
5个关键质量目标
1. 代码易于理解;
2. 易于重使用;
3. 易于扩展;
4. 健壮、正确;
5. 高效率。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理