软件构造课程主讲对象显然是软件,对于构造软件自然是有其标准的,那么软件由什么部分组成呢样的软件称之为好呢来简单介绍软件多维度视图以及软件构造质量目标。
什么是软件h2>
软件一词最早由祖师爷图灵提出,是一个处于操作系统与用户之间的桥梁。
许多图灵奖的获得者也给出了自己对软件的理解,包括,Donald E. Knuth、Edager Dijkstra、Niklaus Wirth等。
软件 = 程序代码
软件 = 算法 + 数据结构
软件 = 程序 + 数据 + 文件
软件 = 模块 + 数据/控制 流
随着计算机领域的发展,对软件的理解要求变得细致,现在我们将从三个方面共八个维度来理解软件。
8. Component-level、Run-time、Period view
系统事件日志:记录各个类的事件,便于记录开发
以下图中标红是我们重点关注的部分。
软件的质量目标
决定软件好坏的因素分为外部质量因素与内部质量因素。所谓外部质量因素,就是用户使用时的体验。而内部质量因素,就是开发者开发的体验。
外部质量因素:
- 正确性:得到正确的结果
- 健壮性:在异常情况下不崩溃
- 可扩展性:能添加修改规约,应对变化
- 可复用性:一次开发,多次使用,节约成本
- 兼容性:软件系统集成,包括文件格式的兼容性
- 同构性:让大家遵从的标准
- 性能:没有正确性的性能毫无意义
- 可移植性:适应不同硬件及操作系统
- 易用性:用户好上手,例如图形操作界面和安装使用指示
- 功能性:一味地添加功能反而使程序不灵活,复杂的软件有很多冗余还有其他属性的损失,也容易失去自己的特点。
- 及时性:在用户需要的时候能完成开发
- 还有可验证性、完整性、可修复性、经济型等等
内部质量因素:
可读性,代码行数、结构清晰、大小精简。
总之就是方便程序员开发。
在不同地质量目标相互冲突地情况下,我们要采取折中。好比正确性与性能,完全没有正确性的性能毫无意义,我们要确定可以接受的正确结果范围和可以接受得到结果的时间范围,这样才能更好的满足用户需求。
五个课程中最关键的属性
- 清晰易读
- 可复用
- 可维护
- 鲁棒性
- 高效性
参考资料:
[1] 1 Views and Quality Objectives of Software Construction.pdf
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!