《构建之法》1-5章感后感

第一章:概论

1)  在读此书之前,我一直以为当一个团队确定了负责一个项目之后,他们的成员不会再有所修改,会对所负责的项目负责到底。但实际上,软件团队是会流动的。为什么要有人员的流动呢?是出现了现有团队解决不了的技术困难,需要新技术新知识的支持,还是现有团队身担多职,需要人手帮忙?另外,不止是软件程序会有bug,团队也会有bug。处理好bug是创造“足够好”的软件的基础,但在校园学习过程中,我们常常会忽视bug,甚至把它留在最后处理。

2)  用户体验,很多时候我们会在软件商店下载各种功能相似的应用,比如,我们曾经下载过无数个背英语单词的app,而能留到最后的只有“百词斩”。软件的用户体验的好坏就在于他是否与同类型的软件比起来更好用。用户体验对一款软件的考验很大,市场上也有许多新开发的软件,这些软件有的一夜之间下载量飙升,有的却不了了之,也有的在一段时间内飙升后再被淘汰。比如像素鸟,前段时间很风靡,现在也逐渐退去光环。我觉得这也和用户体验有密切相关的关系,作为一款游戏,前一段时间因为游戏有难度而风靡,而后来听说有些大神通了关,但我相信大部分人都是没过几根柱子就game over了的。这样没有奖励又屡战屡败的游戏,用户大概也不太想要坚持玩下去。但游戏的有创意又容易上手,就是太容易game over。

3) API到底是什么,和java的API一个意思吗?

百度百科解析:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

4) “没有银弹”论断?

互动百科:没有银弹--是Fred Brooks在1987年所发表的一篇关于软件工程的经典论文。该论述中强调真正的银弹并不存在,而所谓的银弹则是指没有任何一项技术或方法可以能让软件工程的生产力在十年内提高十倍。

5) 书上提到了三种学院,讲解了计算机科学和软件工程的区别及其互助性,那软件学院和软件工程学院所学的是否有区别呢。

第二章:个人技术和流程

1) 个人编写模块时要有单元测试,毕竟最后的软件是由多人合作完成的。我们要确保我们所写的模块能被他人调用,并且代码清晰易懂,不影响其他模块。用vsts写单元测试我们没有接触过,看着书也印象不太深,它是否能测试所有的计算机语言呢。希望有时间实践操作一下。另外,对于单元测试自动化,什么是单元自动化,要怎么做呢。百度了也很晕。以及GitHub之前觉得它的图标很可爱,有去了解过,但是没看懂它能干嘛。

2) 原来使用for循环调用a.lenght;这些调用的获取数组长度的方法会增大时间复杂度

第三章:工程师的成长

第一节讲个人能力的成长,那么目前我们作为学生,如何提高我们自己,我觉得一个人的成长需要经历,加入团队与团队一起进步,我觉得第四章的结对子编程挺好,但是当一个团队的水平到达了一定的能力的时候,我们有必要去其他团队学习吗?现在互联网正在迅速发展,以后会对软件工程有什么阻碍吗?

第四章:两人合作

提出问题:如何在两人合作中提高工作效率?(出自4.6节)

答:在练习二中,我与我的小伙伴进行了结对编程,收获了挺多。一开始,两人要提出各自的看法,互相尊重对方的建议,写出初步的方案(像书中的萌芽阶段);之后在写代码的过程中会出现意见分歧,要控制好自己的情绪,把各自的意见进行比较,或者结合两人的意见提出新的思路(像书中的磨合阶段)。最后在程序敲完之后会要进行测试,一些代码格式的规范,漏洞问题,或是新的idea,都可以在这一阶段加入进去(规范阶段),最后完成程序(创造阶段)。做好这四个环节,我相信能很有效地提高两人合作的工作效率。在两人合作的过程中,我很享受其中的过程,乐在其中。所以,有个好心态去做事情也是不错的。

第五章:团队和流程

1)看了很多软件团队的模式,有主治医生模式,明星模式,社区模式等等。以及功能团队模式,有官僚模式。开发流程有写了再改模式等。但是,可能是我拜读不深吧,看完还是么能理清团队如何合作,团队里的每一个人负责什么。要一起写需求设计吗?还是一部分人负责?有没有具体的例子可以帮助理解呢。一个公司开发一个大项目,要如何才能让一个软件团队有条不紊等工作,他们之间如何分工,如何把所有人所负责的部分整合成一个项目?

时间: 2024-11-09 12:05:02

《构建之法》1-5章感后感的相关文章

《构建之法》第一章读后随笔

<构建之法>第一章首先提出了“软件=程序+软件工程”的观点,然后介绍了软件开发的不同阶段,最后阐述了软件工程是什么的问题.这让我对软件工程有了新的认识,也对构建之法的重要性有了更为深刻的理解. 其实很多工科的很多道理都是相通的.不光是在软件工程,几乎的所有工程中,当工程规模到达了一定的数量级,就不可能是由一个人的一己之力能够完成的,这就需要相互协作,每个人只能做自己的一部分工作.如何能够让别人理解自己的工作的作用,如何能让每个人的工作都能融入一个系统,这就需要模块化,需要集成,话句话说,就是需

《构建之法》第一章概要及读后心得体会

1551427    钱洪章 首先知道:软件=程序+软件工程 名句:程序=数据结构+算法 提出疑问:"程序"是什么? 这里的程序指的是源程序,就是一行一行的代码. 软件够贱的过程:不仅仅是cc和link命令,一个复杂的软件不但要有合理的软件架构.软件设计与实现,还要有各种文件和数据来描述各个文件之间的依赖关系.编译参数.链接参数,等等. 新名词:源代码管理(配置管理).质量保障.软件测试.需求分析.软件维护.软件生命周期.软件项目的管理.软件的用户体验.商业模式 会得到一个扩展的推论:

邹欣老师的《构建之法》第一章“概论”学习笔记与自我随笔

刚读完了邹欣老师的<构建之法>第一章“概论”,四个字形容:酣畅淋漓. 概论将自己的一些模糊的认识清晰化,用准确的文字描述了出来,填补了脑海里的一些灰色地带. 总结一下:概论通俗地阐述了编程.软件.计算机科学.软件工程的联系与区别,简单说,编程是一项具体动作,软件是供人使用的产品,具体有很多种类型,而计算机科学是偏向理论研究,软件工程就像其他工程学一样,是在一定条件下合理配置资源达到生产软件的目的. 本人作为一名从小对编程.软件.计算机感兴趣的Nerd,虽然大学专业与此无关,但刚毕业时签了一份软

《构建之法》第一章节学后有感

经过了对<构建之法>第一章的学习,我大致了解了软件工程到底是什么概念.在学习这本书之前我以为所谓软件工程就是编写程序,创造一个软件供需求者使用.但是在学习了第一章的内容之后我才明白原来软件工程是整个软件开发的过程.它包括了需求分析得到自己开发的方向,再制定软件的设计方案,然后开始编写程序,最后提交软件成品之后还需要定期维护,而在这编写程序的整个过程中都伴随着软件测试,这也是至关重要的.我的专业是计算机科学与技术,不同于软件工程专业,我们专业涉及的范围比较广阔,包括硬件与电路领域.在以后的学习我

构建之法第七章学习心得

这周我学习了构建之法第七章MSF的介绍.MSF有9个基本原则,针对信息共享,团队内部运营,市场,还有客户.同样是强调效率,人性,灵活,还有前景. MSF对信息共享和沟通十分强调,对团队内部运营强调相互信任,各司其职.MSF敏捷开发模式分为两支,MSF敏捷开发模式和MSF CMMI开发模式.都是很人性,灵活,以及对自身有高要求的模式.结合上一章的敏捷流程和这次学习的MSF,在我看来相对比较迅捷,给人一种少了很严肃气愤的方法,个人还是比较喜欢.MSF的最大特性是商业化,并一直体现在项目的实施过程中.

《构建之法》第一章学习

<构建之法>第一章学习 1.软件工程的定义 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.人们在开发.运营.维护软件的过程中有很多技术.做法.习惯和思想体系.软件工程把这些相关的技术和过程统一到一个体系中,叫"软件开发流程".软件开发流程的目的是为了提高软件开发.运营.维护的效率,并提高软件的质量.用户满意度.可靠性和软件的可维护性. 1.1软件的特殊性 软件是可以运行在计算机及电子设备中的指令和数据的有序集合,软件的主要形式有: 系统软件:

现代软件工程—构建之法》第一章 中出现的计算机专业术语

现代软件工程-构建之法>第一章 中出现的计算机专业术语 1.软件 2.程序 3.软件工程 4.二叉树 5.遍历算法 6.数据结构 7.算法 8.应用软件 9.软件服务 10.源程序 11.软件架构 12.软件设计与实现 13.依赖关系 14.编译参数 15.链接参数 16.构建 17.源代码管理 18.配置管理 19.质量保证 20.软件测试 21.需求分析 22.程序理解 23.软件维护 24.服务运营 25.软件的生命周期 26.软件项目的管理 27.用户体验 28.国际化和本地化 29.A

构建之法第六章学习心得

这周我学习了构建之法第六章敏捷流程,本章主要介绍了敏捷流程及其原则,Backlog.Burn-down.Sprint.Scrum方法论.以及什么时候选择敏捷的开发方法,什么时候选择其他方法..敏捷开发的原则是尽早并持续地交付有价值的软件以满足顾客需求敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势经常发布可用的软件,发布间隔可以从几周到几个月,能短则短业务人员和开发人员在项目开发过程中应该每天共同工作以有进取心的人为项目核心,充分支持信任他们无论团队内外,面对面的交流始终是最有效的沟通

《构建之法》第一章读书笔记

工程有了一个初步的了解.介绍了软件工程里的一些基本概念,软件开发的几个阶段.软件工程的特殊性.目标以及软件工程与计算机科学之间的联系与区别.    软件工程作为一门新兴的学科,是连接计算机硬件和传统机械工程的一个桥梁.起先,我所认为的软件工程单纯的只是编程,通过算法实现正确的输出而已.但在构建之法的第一章中,我认识到会写程序只是一个合格的软件工程师最基本的素质.一个完整的项目,应该在需求分析,软件构架设计.代码实现.程序测试.软件发布运营及维护每个阶段都尽职尽责,并结合用户体验去完善软件的每一个

构建之法第四章学习心得

今天我学习了构建之法第四章,主要讲述了两人合作的理论和知识点.合作,无论在任何领域,都是不可缺失的,往往能产生不可替代的效果.同样在软件设计中也是如此,经过我的学习,我了解到软件设计中两人合作主要包括包括代码规范.极限编程.结对编两人合作的不同阶段以及影响他人的技巧. 其中最让我印象深刻的是代码规范.包括:代码风格规范和代码设计规范,代码风格规范主要是文字上的规定,看似表面文章,实际上非常重要:代码设计规范牵涉到程序设计.模块之间的关系.设计模式.等方方面面的通行原则: 同时,我了解了代码风格规