《现代软件工程-构建之法》读书笔记(1)

想进入一个领域最好的方法就是读这个领域的著作!讲座!论文!自己想考软件工程研究生,现在才后知后觉地去搜索书籍,然后就发现了这本书!于是乎这么好的书当要做学习笔记啦。
打算好好学习《构建之法》这本书,并配合着邹欣老师的博客讲义,系统地学习“软件工程”。
这里是邹欣老师的博客讲义,强推:http://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html#undefined
这周目标(2019.3.25-2019.3.31):用大概一周时间把这本书快速看一遍,做一个系统了解,并提出5-10个不懂的问题。

第一章 概论
软件=程序+软件工程;
软件企业=软件+商业模式;

软件工程师把系统的有序的,可量化的方法应用到软件的开发、运营和维护上的过程。
软件工程包括的领域有:软件需求分析、软件设计、软件构建、软件测试、软件维护。
相关软件系统有:Microsoft Visual Studio、GitHub、Eclipse、ClearCase等等。

软件工程的特殊性:

  • 复杂性
    软件方面:大型软件代码量巨大,而且不同模块之间的关系越来越复杂。
    人为方面:人的阅读速度、记忆等都是有限的,短时间内还无法提高。
  • 不可见性
    工程师只能看到的是代码和出错了的代码,但并不知道用户遇到问题时到底是怎么样的。
  • 易变性
    人们不断地希望软件能做新的东西和适应新的软件,但于此同时很难修改。
  • 服从性
    软件无法独立存在,必须依赖硬件。
  • 非连续性
    有些软件输入与输出不匹配。

软件工程和计算机科学的关系:
计算机科学偏理论研究,是追求那种理想化、完美的真理,各个学科会独立深入研究并出成果;而软件工程偏向实践,追求短期的效果,往往是不完美的,因为要对不可抗的现实因素折衷,会融合各个领域的知识去实现实际的问题。理论是实践的基础,实践是检验理论的标准并帮助其探索地更深。

怎么样的软件才是“足够好”的软件/p>

  • 用户满意度
    得满足顾客的期望,解决她们需要解决的问题,且是高效的。
  • 可靠性
    关键时候别掉链子。
  • 软件流程的质量
    软件开发团队的默契度,进度是否及时。
  • 可维护性
    出了问题可以有方法解决。

初步学会软件工程的要求是:

  1. 研发出符合用户需求的软件
  2. 通过一定的软件流程在预计时间内发布“足够好的软件
  3. 证明所开发的软件是可以维护和继续发展的

Reflection:
对软件工程的概念大概有了一个宏观的认识,知道它涉及范围之广但是觉得很有趣,本章目前没有问题,课后作业之后更新。

来源:Leonadoice

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年2月19日
下一篇 2019年2月19日

相关推荐