【读书笔记】第一章 软件和软件工程

本文探讨了软件在科技领域的核心地位和意外效应法则,指出软件的特殊性质,如非磨损性、演化性和复用性。同时,介绍了软件的多种应用领域、遗留软件的挑战以及Web应用的特性。软件工程通过系统化、规范化的工程方法,包括沟通、策划、建模、构建和部署等活动,确保软件的可靠性和效率。文章还触及软件过程模型,如敏捷过程,以及软件工程实践的原则,揭示了常见的软件神话对项目的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机软件仍然是世界舞台上最为重要的科技领域,并且是“意外效应法则”的一个最好体现。

意外效应法则(law of unintended consequence):某些新科技的发明创造会给其他一些看似无关的技术领域、商业企业、公众甚至整个社会文化带来深远而出人意料的影响和作用。

软件既是产品也是交付产品的载体。

 

【定义软件】

1、软件是设计开发的,而不是传统意义上的生产制造的。

2、软件不会“磨损”。

a) 硬件的失效率遵循“浴缸曲线”,早起具有相对较高的失效率,缺陷被逐个纠正之后,失效率随之降低并在一段时间内保持平稳(理想情况下很低)。然而随着时间推移,因为灰尘、震动、不当使用等环境问题造成硬件组件损耗累积的效果,失效率再次提高,硬件开始“磨损”。

b) 软件不会受硬件磨损的环境问题的影响,未知缺陷将在程序的生命周期的前期造成高失效率。

c) 软件不会磨损,但软件退化的确存在。不断的变更是软件退化的根本原因。每个软件的缺陷都暗示了设计的缺陷或者在从设计转化到机器可执行代码的过程中产生的错误。因此,软件维护要应对变更请求,比硬件维护更为复杂。

3、虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求制定的。

 

软件的构件应该设计并实现成可在不同程序中复用的组件。现代的可复用构件封装了数据和对数据的处理,使得软件工程师能够利用可复用的构件构造新的应用程序。

 

【软件应用领域】

1、系统软件

2、应用软件

3、工程/科学软件

4、嵌入式软件

5、产品线软件

6、Web应用软件

7、人工智能软件

8、开放计算

9、网络资源

10、开源软件

 

【遗留软件】(legacy software):年代久远的旧程序。

1、生命周期长、业务关键性

2、质量差(基于现代软件工程思想)。遗留系统的设计难以扩展,代码费解,文档混乱甚至没有,测试用例和结果未归档,变更历史管理混乱等。

3、如果遗留软件可以满足用户的需求并且可靠运行,那么它就没有失效,不需要修改。

4、随着时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值