《构建之法》阅读笔记01

第一章——概论

本章内容主要讲解有关软件方面的专业术语,比如,有些程序需要配置不同的界面,运行在中文、英文或其他语言的操作系统上,有些程序还有32位、64位版本等,这就是源代码管理(Source Code Control)的问题,有时也叫配置管理(Software Configuration Management);还有一系列的工具、流程和文档来保证程序的正确性,这些工具(软件)、流程应该达到很高的质量,这就是质量保障(Quality Assurance),具体的验证过程叫做软件测试(Testing)。通过需求分析(Requirement Analysis)把合适的需求梳理出来,然后逐步开展后续工作,如设计(软件架构)、实现(写数据结构和算法)、测试,到最后发布软件。

程序团队的人也会流动,新的成员要尽快读懂已有的程序,这叫程序理解(Program Comprehension),经常的维护和修改补丁,这叫软件维护(Software Maintenance)或者服务运营(Service Operation),这一系列就是软件的生命周期(Software Life Cycle , SLC),当然这还需要有人负责软件项目的管理(Project Management)

软件工程核心部分:构建管理、源代码管理、软件设计、软件测试、项目管理,广义上的软件工程也包括用户体验、用户界面设计(User Interface Design),所以 软件 = 程序 + 软件工程,扩展为 软件企业 = 软件 + 商业模式

那么,软件工程究竟是什么呢?软件工程是把系统的、有序的、可量化的方法应用到软件开发、运营和维护上的过程,常利用的软件工具系统有Microsoft Visual Studio、GitHub、Eclipse、ClearCase和ClearQuest等。与之相关的学科有计算机科学、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户界面设计。因此软件工程并不是一门纯技术行业,它表现更多的是连接机器与人。所以,如果有和我一样选择了软件工程专业的妹子,别担心代码不是阻碍我们变得更好的绊脚石。如果你擅长交际的话,会点技术的沟通交流更有效哦。软件工程的目标——创造“足够好”得软件,什么是好的软件?你可能会想到没有缺陷(Bug),但是实际生活中,并没有完美的事情,事情总是在不断变化、不断进步的。因此在日常学习中,就可以培养自己修复Bug、维护代码库的习惯,时不时回过头去修改、整理自己的代码库,这也是一种很好的学习。

第二章——个人技术和流程

本章重点介绍PSP(Personal Software Process,个人软件开发流程)

用VSTS写单元测试,创建单元测试主要步骤:

1.设置数据(一个假想正确的E-mail地址)

2.使用被测试类型的功能(用E-mail地址来创建一个User类的实体)

3.比较实际结果和预期的结果(Assert。IsTrue(target != null);)

好的单元测试标准,首先是,单元测试应该在最基本的功能 / 参数上验证程序的正确性;单元测试必须由最熟悉代码的人(程序作者)来书写,当然在一些极限编程中,可以考虑让别人来做单元测试;单元测试过后,机器状态保持不变;单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟);单元设置应该产生可重复、一致的结果,便于排除错误;独立性——单元测试的运行 / 通过 / 失败不依赖于别的测试,可以人为构造数据,以保证单元测试的独立性;单元测试应该覆盖所有的代码路径。

两种分析方法:抽样、代码注入。

在学习过程中,可以生成自己的PSP个人学习过程,真实记录自己的设计、编程、实现过程各方面用时,是自己不断总结、不断进步。

WC项目要求:

wc.exe是一个常见的工具,它能统计文本文件中的字符数、单词数、行数。可以尝试模仿已有wc.exe的功能,加以扩充。

 

***************************************************************************************************************************2017年11月30日(第十一周 周四,刚考完Java期末考试的夜晚22:35)***********

posted @ 2017-11-30 22:31  Someday&Li  阅读(140)  评论(0编辑  收藏  举报