【读书笔记】《构建之法》第一章

写在前面:

这份笔记就是一个导读作用,所以只有第一章。同学们应该简单看看后,买一本《构建之法》。在大一一入学就接触这些,是很有帮助的。

第一章:概论

1.1软件=程序+软件工程

之间的关系

软件=程序+软件工程
程序=算法+数据结构

个人结论:算法和数据结构固然重要,但是你一直执着于竞赛,你是没办法做出软件的。对于大部分人,竞赛还是参与为主。

软件工程的核心部分:构建管理、源代码管理、软件设计、软件测试、项目管理

由此推论

软件企业 = 软件+商业模式

程序(算法、数据结构)是基本功,但是在算法和数据结构之上,软件工程决定了软件的质量;商业模式决定了一个企业的成败。

软件开发的不同阶段

  1. 玩具阶段
  2. 业余爱好者阶段
  3. 成熟阶段
  4. 成熟的产业阶段

软件工程是什么?

软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程
软件与人类制造出来的其他产品相比,有许多共性——他们都是解决某种需求的——所以说需求这件事,还是很重要的

软件开发的难点:

  1. 复杂性
  2. 不可见性(你没办法看到机器内部怎么跑的,你只能通过日志之类的。。。)
  3. 易变性(如何正确修改软件)
  4. 服从性(服从硬件,服从用户需求)
  5. 非连续性

软件工程和计算机科学的关系

计算机科学中的理论研究部分,大多可以从形式上证明,与数学、离散数学、数理逻辑密切相关;计算机科学中与时间相关的部分,都和数据以及其他学科发生关系;软件工程则和人的行为、现实社会社会的需求息息相关。

孰优孰劣?

在任何科学领域中,都有偏理论的子领域和偏应用的子领域,当偏应用的领域得到长足发展之后,就会更多地被大家熟知,甚至成为一门独立的学科,这并不说明相对应的两方面有高低或优劣之分。

计算机理论的进展会帮助软件工程(例如对程序正确性的分析);软件工程的进展(更好的工具,更多的应用领域)会帮助计算机科学家更有效地进行实验和探索。
软件工程的“工程”二字意味着它和许多工程领域的学科,以及管理学有很大关系
工程师的宗旨:我构建,故我在

软件工程的目标——创造“足够好”的软件

  • 用户满意度
  • 可靠性
  • 软件流程的质量
  • 可维护性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值