首页 > 其他分享 >构建之法阅读笔记2

构建之法阅读笔记2

时间:2023-04-30 20:44:09浏览次数:33  
标签:定义 单元测试 笔记 第一章 软件工程 构建 介绍 阅读 软件

《构建之法》这本书有哪些优点?又有哪些不足之处?

优点:1、语言生动有趣,采用情景式、对白式的方式对在软件工程相关的学习中重现场景,更好的解决了读者所遇到相类似的问题。

      2、注重实践。在大部分时候,大学的计算机专业,理论和实践是分离的,甚至只注重理论,讲一堆概念,定义,然而这本书与现实项目接轨,既讲了关于个人的项目能力,还谈到在团队中如何进行协作,也介绍了作为软件从业人员的一些准则。

      3、知识由浅到深,由理论转为实战,循序渐进。整本书从软件工程概论(第一章)开始,再到个人项目能力的培养(第二、三章),继而转为第三章到第六章的团队介绍和流程完善,再切入到生活中的实战项目部分,此为横向线;每一章内部由浅入深,步步挖掘,此为纵向线。

      4、覆盖面广。不仅只有软件工程的相关知识,还有IT的行业创新、项目经理、职业道德等。

   5、书中有大量学习的网站,以及还留有一些比较有趣的课后习题。

     6、该书比较适合初学者读,同时对于教师和助教,也有很大的益处。

缺点:1、个人认为这本书的知识框架显得有些凌乱,章节和章节之间的联系性并不是很强,使得知识框架并不是那么容易理清楚,这从以上的思维导图就可以看出。当然也有可能是我没有细读,从而没有分析出其中的联系吧。要是老师或者同学们有好的解释可以畅所欲言呀。

          2、有一些例子或者练习题并不是那么的恰到好处。比如63页关于选哪一种医生的讨论,我认为这个问题与软件项目联系在一起有些牵强。

讲完了《构建之法》的整体,接下来就从章节讲起。由于时间问题,我只细读了第一章到第四章还有第九章,前四章先介绍了软件工程的概念,然后介绍了软件工程师所需要的个能人力培养问题,以及两人如何合作,第九章则是介绍项目经理。在这五章之中,一些将列举一部分我遇到的问题:

软件工程是什么?

   在读第一章之前,个人对于软件工程的定义是“完成某款软件的设计的过程”,然而读完第一章以后才发现其中涉及的问题很多,并没有我想象中的那么简单。书中分别定义“软件”和“工程”,“软件=软件+软件工程”,工程定义“创造性地运用科学原理,实现和设计建筑、机器、装置或生产过程;或者是在实践中使用一个或多个上述实体;或者是实现这些实体的过程。”经查询资料,软件工程具体定义为“软件工程概念实际存在两层含义,从狭义概念看,软件工程着重体现在软件过程中所采用的工程方法和管理体系,例如,引入成本核算、质量管理和项目管理等,即将软件产品开发看作是一项工程项目所需要的系统工程学和管理学。从广义概念看,软件工程涵盖了软件生命周期中所有的工程方法、技术和工具,包括需求工程、设计、编程、测试和维护的全部内容,即完成一个软件产品所必备的思想、理论、方法、技术和工具”。

单元测试是什么?有什么作用?

   第二章介绍的是PSP,2.1节直接就是单元测试,讲了很模糊的用法,以及如何怎么写单元测试,但偏偏读完这些依旧不知道单元测试是什么,这也算是一个缺点之一吧。经过百度之后,得出单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。单元测试的意义在于以测试为驱动的开发模式最大的好处就是确保一个程序模块的行为符合我们设计的测试用例。在将来修改的时候,可以极大程度地保证该模块行为仍然是正确的。

标签:定义,单元测试,笔记,第一章,软件工程,构建,介绍,阅读,软件
From: https://www.cnblogs.com/aiyiliang/p/17365749.html

相关文章

  • 构建之法读书笔记03
    第二章个人技术和流程2.1单元测试①重要的单元测试:有效解决程序员对模块功能的误解、疏忽或不了解模块的变化之类的问题,使自己负责的模块功能定义尽量明确,模块的质量得到稳定的、量化的保证。②好的单元测试的标准:在最基本的功能/参数上验证程序的正确性单元测试必须由最熟......
  • 构建之法读书笔记-4月-2
    《构建之法》一书共分四部分,详细介绍了具有创新性、高度可靠性的软件架构设计的方法及工具,这里主要介绍第三部分和第四部分的内容。第三部分介绍了如何针对不完美的现实环境进行系统设计,并以适应环境变化和不确定性为目标,最大限度地减少风险并提升可靠性。本部分重点关注于“鲁......
  • 构建之法阅读笔记03
    软件架构是什么?软件架构是指对软件系统的整体结构和组织方式的定义。它包括系统的各个组成部分、它们之间的关系、以及系统的行为和性能等方面。软件架构的重要性软件架构是软件开发的基础,它决定了系统的可维护性、可扩展性、可靠性和安全性等方面。良好的软件架构能够降低系统维......
  • 堆与二叉搜索树学习笔记
    部分内容来自OI-WIKI。1.堆堆的定义堆是一棵二叉树,满足每个节点的键值都大于等于它的父亲节点或者小于等于它的父亲节点。每个节点的键值都大于等于它的父亲节点的叫小根堆,每个节点的键值都小于等于它的父亲节点的叫大根堆。优先队列是一种抽象数据类型,它是一种容器,里面有......
  • 嵌入式学习笔记汇总
    本文整理STM32、STM8和uCOS-III的所有文章链接。STM32学习笔记目录源码:mySTM32-learnSTM32学习笔记(1)——LED和蜂鸣器STM32学习笔记(2)——按键输入实验STM32学习笔记(3)——时钟系统STM32学习笔记(4)——NVIC中断优先级管理和外部中断EXTISTM32学习笔记(5)——系统定时器SysTickS......
  • Vulnhub靶机笔记2——matrix-breakout-2-morpheus
    一、介绍一个以《黑客帝国》为背景的靶场涉及内容主机发现端口服务扫描1.2不用工具实现ffuf目录爆破一句话木马反弹shellmsf,蚁剑使用图片隐写CVE-2022-0847漏洞利用二、环境攻击机:kali靶机:matrix-breakout-2-morpheus三、过程1、信息收集1.1主机存活扫描nma......
  • 基于C#的excel笔记
    一、引用的excel库1、Microsoft.Office.Interop.Excel库效果不好,代码繁琐。在执行语句时出现不能解决的BUG,usingExcel=Microsoft.Office.Interop.Excel;...Excel.Workbookworkbook=excelApp.Workbooks.Add();//X//要生成的字符串////stringinputStri......
  • Gradio: 使用Python构建机器学习网页应用
    Gradio:用Python构建机器学习网页APPGradio是一个开源的Python库,用于构建演示机器学习或数据科学,以及web应用程序。使用Gradio,您可以基于您的机器学习模型或数据科学工作流快速创建一个漂亮的用户界面,让用户可以”尝试“拖放他们自己的图像、粘贴文本、录制他们自己的声音,并通......
  • 外设驱动库开发笔记53:MAX31856热偶变送器驱动
      在我们的产品中经常有需要温度检测的地方,而热电偶温度检测电路是我们常用的。热电偶温度检测的方法很多,有时出于简单方便的考虑我们会选择热偶温度变送器来实现,这一篇我们就来讨论使用MAX31856热电偶温度变送器实现温度的检测。1、功能概述  MAX31856可以对任何类型热电偶......
  • 树分治学习笔记
    一、点分治一、概述前置知识:数的重心。假设我们要统计一棵有\(n\)个节点的树上所有点对之间距离是\(k\)的有多少对。注意树上的边有长度。\(n\le10^5,k\le10^6\)。一个朴素的算法是遍历树上的所有点对,处理出距离(也就是链的长度)。时间复杂度\(O(n^2)\)。考虑优化。......