《构建之法》第一章读后感

1.1 软件 = 程序 + 软件工程

  构建过程,构建不仅仅是cc和link命令,一个复杂的软件不但要有合理的软件架构软件设计与实现, 还要有各种文件和数据来描述各个程序文件之间的依赖关系,编译参数,链接参数等等。

  有些程序要配置不同的界面, 运行在中文,英文或其他语言的操作系统上;有些程序还有32位版本,64位版本等. 这是 源代码管理的问题也叫 配置管理。

  我们还有一系列的工具、流程、和文档来保证程序的正确性,这些工具,流程应该达到很高的质量,才能保证开发出来的软件的质量. 这就是 软件质量, 具体的验证过程叫做 软件测试。

  读懂已有的程序,了解程序的设计,这叫程序理解。

  团队的新老成员一起修复各种各样的问题,这叫软件维护,或者服务运营。这一系列过程就是软件的生命周期,在这一周期中,有人得负责软件项目的管理。

  一个好的软件,即使功能和同类软件区别不大,但却会让人感觉非常好用,这就是软件的用户体验。

  软件还要处理不同语言、不同地区的用户对界面和功能的不同需求,这叫软件的国际化和本地化。

1.2软件工程是什么

  软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。

  人们在开发、运营、维护软件的过程中有很多技术、做法、习惯和思想体系。软件工程把这些相关的技术和过程统一到一个体系中,叫软件开发流程。

1.2.1软件的特性

  ·复杂性

    软件可以说是人类创造的最复杂的系统类型。大型软件有超过百万行源代码,上万的不同的文件。

  ·不可见性

    软件工程师能直接看见源代码,但是源代码不是软件本身。

  ·易变性

    软件要不断改变,正确修改软件是一件困难的事情。

  ·服从性

    软件不能独立存在,他总是要运行在硬件上面。

  ·非连续性

    许多软件系统没有连续的特性,有时输入很小的变化,会引起输出上极大的变化。

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

  计算机科学中的理论研究部分,大多可以从形式上证明,与数学、离散数学、数学逻辑密切相关;计算机科学中与实践相关的部分,都和数据以及其他学科发生关系。

  软件工程的研究目标中都有“人”出现,这些“人”可以是项目需求的提供者,可以是软件的开发人员,还可以是软件的用户。

  计算机科学和软件工程的不同侧重点

计算机科学 软件工程
发现和研究长期的、客观的真理  短期的实际结果(具体的软件会过时)
理想化的  对各种因素的折衷
确定性,完美,通用性  对不确定性和风险的管理,足够好,具体的应用
各个学科独立深入研究,做出成果  关注和应用各个相关的学科的知识,解决问题
理论的统一 百花齐放的实践方法
强调原创性 最好的、成熟的实践方法
形式化,追求简明的公式 在实践中建立起来的灵感和直觉
正确性 可塑性

 

 

 

 

 

 

 

 

 

 

 

 

 

1.2.3软件工程的知识领域

生命周期 软件需求、软件设计、软件构建、软件测试、软件维护
专门领域 软件配置管理、软件工程管理、软件工程过程
理论基础 计算基础、数学基础、工程基础

 

 

 

 

 

 

 

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

  用户满意度bug:用户在使用时发现了软件的很多问题,影响了用户使用软件的效率。

  可靠性bug:某个软件经常会崩溃,某个操作系统会时不时死机,某个网站往往在最需要的时候登陆不上去。

  软件流程的质量bug:软件团队和开发流程的问题太多,导致团队成员无法互相协作,按时交付软件。

  可维护性bug:某个软件太难维护,修复了一个问题,另一个问题又出来了。也没有足够的文档,维护人员表示需要更多的资金来维护这个软件,甚至建议推到重写。

1.3练习与讨论

 2.

  1) 通过读软件工程师的成长,一个程序需要不断更新进步,这也要求程序员需要不断学习新技术才能不被市场淘汰,有什么比较有效的方法提升我们的能力?

  2)我们应如何制定自己的职业生涯规划?

  3)通过读需求分析,我在实习中发现公司的客户可能会提出一些难以实现的需求,我们是否可以拒绝?

  4)通过读IT行业的创新,创新就是做和以前不一样的事,能做成也是一件不容易的事,我们如何提高自己的创新能力?

  5)通过读团队和流程,在团队中每个人的职责不同处理问题的方法也不同,我们怎样才能统一意见,避免吵架?

  3.

  主要使用的软件:Games王者荣耀,Tools有道翻译官,Operating Systems IOS

  分析Games王者荣耀

  通过广告,朋友推荐成为用户,目标是盈利,通过充值购买皮肤抽奖盈利

  通过App Store下载,高中时接触,它的盈利目的太强。

  发现bug及时维护更新,通过不断创新玩法与同类竞争。

 

posted @ 2019-09-08 10:53  20194695徐少华  阅读(138)  评论(2编辑  收藏  举报