第三次作业---读《构造之法》1-5章有感
这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2178。
第一章:概论
读完第一章了解到了什么是软件工程、软件工程的领域。软件工程是把系统的、有序的、可量化的方法应 用到软件的开发、运营和维护上的过程。软件工程包括下列领域:软件需求分析、软件设 计、软件构建、软件测试和软件维护。
1.1节中,本书作者用了从儿童时代的纸飞机到成熟飞机产业阶段的发展的例子,描述了软件的制作过程。其过程分为四个阶段:1、玩具阶段即我们刚开始学习新计算机语言,打好基础的过程。2、业余爱好阶段即用所学的语言做出简单的作品,例如:网页、简单的app等等。3、探索阶段即钻研更深层次的知识,学习掌握新技术,并应用于软件创新中去。4、成熟的产业阶段即将成熟的软件应用于商场,并广泛应用。但文中在软件发展阶段之后,提出了一个关于安全功能的问题:如果一架民用飞机上 有一个功能,用户使用它的概率是百万分之一, 你还要做这个功能么?你会选择: 1. 根本不考虑 2. 如果没时间实现这个功能就算了 3. 做了,但是不用告诉用户 4. 做了,而且不厌其烦地告诉用户如何使用 你会如何选择呢?文中同样的用了飞机的安全功能告诉我们答案是做了,而且不厌其烦地告诉用户如何使用,当然,软件在制作过程也需要考虑安全问题,从软件的角度看,就是容错问题,我们应该从用户的角度考虑安全问题,尽可能完善安全功能,即使只有百万分之一的概率出错,也要考虑进去。就像书中所说的“如果氧气罩自动掉下来,应该怎么做。”飞机只有在出现情况的时候,才会掉下氧气罩,虽然几率很小,但如果真的发生,却没有安全措施,就会有很大麻烦。软件也是如此,比如,软件如果没有自动保存功能,在突然黑屏、没电的情况,用户的资料就可能会损失。虽然几率也是很小,但也还是有可能发生的,所以一切有可能发生的安全功能都要完善。
第二章:个人技术和流程
第二章主要讲解了单元测试、回归测试、效能分析以及个人软件开发看流程(PSP)。
2.1.2节中,小飞和阿超的对话让我感触很深,虽然单元测试是回归测试的基础,但单元测试极其的重要。对话中阿超说出了单元测试的重要性,你自己写的模块最好把你这一“模块”要做的事,以及不能做的事,用单元测试清晰地表达出来,且在写技术模块规格说明书时,要写得越详细越好,因为如果你的模块有不同的人,在不同的时间使用,这样能够方便他们使用。单元测试还可以让代码作者感受到复杂代码的副作用。在写代码时,并不是代码越复杂越好,代码越复杂验证的正确性越难达到最高。正确写代码的习惯应该是该写的写,不该写的不写,且代码效率要高,覆盖率也要高。在条件的覆盖率中,影响判断结果的因素有很多,如文中的if语句中,我们不仅要考虑布尔类型TURE的情况,同样FALSE的情况也要考虑。
我的疑问:如何让单元测试的一个测试在几秒钟中完成?
第三章:软件工程师的成长
第三章主要讲了评价软件工程师水平的主要方法有:技能的反面、TSP对个人的要求、软件工程师的思维误区。
3.1节中提到软件团队是由个人组成的,个人在团队中也是有独立流程的,而把每个人的工作有序地组织起来,是团队的流程。所以,要想搞好团队,首先要提高个人的能力,就好比足球,每个足球员都要经过严格的体能、技术、意识等方面的训练,程序员也是一样,要不断积累软件开发相关的知识、积累问题领域的知识和经验、提升职业技能以及实际成果。然后每个人再在团队中有序地组织起来,这样团队才能正常运作。当然,团队对每个成员也是有要求的。1、要成员与成员之间多交流。2、按时完成任务。3、完成不同的任务并高质量完成。4、投入团队的活动等等。
我的疑问:全国计算机等级考试的这种考核方式不是很传统的考试方式吗?那它的主要考核目的是什么?
第四章:两人合作
第四章讲的是两人合作时,应该注意代码规范、极限编程、结对编程、两人合作的不同阶段以及影响他人的技巧。
在写代码的过程中,一定要代码规范。要有代码风格规范、代码设计规范以及代码注释的良好习惯。这么一来,自己下次看的时候,整洁清楚,你的队友和别人也方便解读你的代码,这样也能大大的提高你们团队的效率,不用把时间浪费在解读他人代码上。代码设计规范上,要保证代码模块化,函数出口单一,模块功能单一,尽量做到高内聚低耦合。两人合作,代码模块化的好处就是方便代码合并。
代码设计好后,要进行代码复审,代码复审主要是:1、更正明显的错误;2、对于无法很快更正的错误,要在项目管理软件中创建bug,把它们记录下来。
我的疑问:模块优化是否指提高代码执行效率?
第五章:团队和流程
’第五章讲到了软件团队的几种典型模式:主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队以及特工团队等。
主治医师模式的软件团队中,首席程序员负责处理主要模块的设计和编码,其他人则辅助他的工作,而这些人中有的是后背程序员、系统管理员以及工具来发等。而在社区模式的软件团队中,每个程序员可以参与自己感兴趣的项目,贡献自己的力量,但会出现有的人偷懒。所以这也是跟主治医师模式不同的,不过社区并不是意味着“随意”,这里需要严格的代码复审。在业余剧团模式的软件团队中又是不同,每个人都有权利在不同项目中选择不同的角色,每个人比较平等的讨论,但在竞争性强烈的团队,肯能就不太一样了。还有每个模式都自己的不同之处。
我的疑问:这么多的软件团队模式,该怎么判断选择使用呢?
转载于:https://www.cnblogs.com/lxcbk/p/9752233.html
第三次作业---读《构造之法》1-5章有感相关推荐
- 第三次作业:阅读《构建之法》1-5章有感
这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2178 阅读<构建之法>1-5章有感 第1章:概论 ...
- 读《包法利夫人》有感
这两日重读了一遍<包法利夫人>,虽说包法利夫人招人恨,只考虑自己的享乐,将自己的老公,女儿陷入不好的下落.世上居然有这种人,太自私了.但从另一个角度看,她也是一个悲剧人物,和自己的老公没有 ...
- 读《构建之法》13--17章有感
第十三章讲的是软件测试,其包括功能测试和非功能测试,测试方法有单元测试,代码覆盖率测试,构建验证测试,验收测试"探索式"的测试,回归测试场景.集成.系统测试,伙伴测试,效能测试,压 ...
- 读大道至简第五章有感
该章开篇第一个部分写的是做过程不是做工程,主要介绍了软件工程的创立及成熟的标志.其成熟的标志是软件工程的瀑布模型的提出.瀑布模型将软件开发的过程分成需求,分析,设计,开发和测试等五个主要阶段.在瀑布模 ...
- 读《.NET本质论》样章有感
这两天抽空看了一下<.NET本质论>,确实是一本经典的好书.如果说<Thinking in Java>是Java中从入门到精通的经典书籍的话,那么<.NET本质论> ...
- 读1、2、16章有感
第一章:1."这个从工程的角度出发,用"蛮力"提高计算速度的工程方法远远甩开了同时代的各种"智能"方案". 对于这句话我有一点疑问,我理解的 ...
- 小强怎样练成——读《现代软件工程——构建之法》第三章有感
小强怎样练成 ----读<现代软件工程--构建之法>第三章有感 一.知道自己吃几碗干饭 先秦时期的"革命家"告诉我们"知人者智,自知者明",&quo ...
- JML规格编程——BUAA OO第三单元作业总结
整体概述 这个单元整体围绕Java Model Language(JML)展开,通过学习JML规格了解契约式编程的过程,课上实验中进行了JML规格的简要编写,课下实验主要通过阅读规格并按照规格的要求正 ...
- BUAA_OO第三单元作业总结——JML
BUAA_OO第三单元作业总结--JML 单元任务 本单元的主要内容是熟悉JML相关的理论知识,能够根据JML规格实现对应方法,通过一步步实现地铁系统来熟悉JML规格. 一.JML语言的理论基础.应用 ...
最新文章
- 计图(Jittor) 1.1版本:新增骨干网络、JIT功能升级、支持多卡训练
- ubuntu软件安装(个人PC)
- Luhn(卢恩)算法,检测信用卡号的合法性
- 深入浅出K-Means算法
- 几个免费高质量图标搜索引擎。
- 一个法国摄影师在中国
- Discuz!$_G变量的使用方法
- c++11中的智能指针
- 随想录(功能安全和软件开发)
- Centos 安装最新版git
- MFC 窗口过程理解
- 思科ASA防火墙升级为云端防火墙
- 通过算法为宝宝选保姆,数据辅助决策靠谱吗?
- 爬取网易云音乐评论,破解网易云加密算法
- 北师大网络教育计算机基础考试题,北京师范大学网络教育中国书法简史入学考试模拟题(单选)...
- 对于踏入社会的我们来说,学历到底有多重要?学历的用途介绍
- 关于家用路由器下挂多个设备包括下挂路由器的操作
- 查表法求sin和cos
- 【JVM调优工具】JVM调优工具
- 柯基数据携手亚马逊云科技打造一站式知识图谱平台案例