《构建之法》第一、二、十六章疑问
我通过阅读发现这是一本十分有趣的书。不同于别的书的晦涩难懂,《构建之法》利用浅显易懂的语言,贴近生活的例子向我们讲述了软件工程的内容。
第一章 概论
软件=程序+软件工程
扩展:软件企业=软件+商业模式
软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营、和维护上的过程。软件的特殊性有a.复杂性 b.不可见性 c.易变性 d.服从性 e.非连续性。软件工程与计算机科学的区别:计算机科学中与实践相关的部分,都和数据以及其他学科发生关系;软件工程则和人的行为、现实社会的需求息息相关。
1.用户体验和数据结构、算法没有直接的关系。
疑问:那么那么数据结构和算法有没有关系呢?
我的看法:算法必须基于数据结构生存。也就是说,我们对于任何算法的编写,必须依赖一个已经存在的数据结构来对它进行操作,算法在没有数据结构的情况下,没有任何存在的意义;而数据结构没有算法就等于是一个尸体而没有灵魂。就像网络连接必须在电子设备上才能进行,而不能进行网络连接的的电子设备没有多少用处。
2.软件工程的一个重要任务就是决定一个软件在什么时候能“足够好”,可以发布。
疑问:软件什么时候足够好?
我的看法:a.用户体验高(功能和同类软件区别不大,但是会让人感觉非常好用。)
b.软件的质量好并且运行效率尽可能高。
c.软件是可维护的并且尽量功能全。
第二章 个人技术和流程
创建单元测试函数的步骤:a.设置数据 b.使用被测试类型的功能 c.比较实际结果和预期的结果。好的单元测试应该准确快速地保证程序基本模块的正确性。
3.大家要避免没有做分析就过早地进行“效能提高”
疑问:什么是程序效能分析?
我的看法:用效能分析工具来提高程序质量十分重要。虽然有实际用处的同时又是完美的软件是不存在的,并且没有实际用途完美软件也几乎没有。程序的效能分析就是把程序的完成性能与任务要求进行比较,得到的优劣程度即为效能。
4.如何逐步分解一个项目的需求?
疑问:需求分析(在第八章)
a.获取和引导需求
b.分析和定义需求
c.验证需求
d.在软件产品的生命周期中管理需求
第十六章 IT行业的创新
创新对于每个行业来说都很重要,但是创新的想法一开始往往不被接受。大家都喜欢创新,但在现实中好的主意不一定赢。创新者都是一马当先,人们大多在自己拿手的领域里取得创新而技术的创新才是关键。对于颠覆性的技术来说成功的团队更能创新。