读书笔记三

总结下来,一个合格的工程师在开发时需要同时考虑质量和效率,与之同时需要具备的技能包括:单元测试、效能分析、个人研发流程(PSP);

关于单元测试的正确做法:

1. 单元测试应该在最低的功能/参数上验证程序的正确性

2. 单元测试必须由最熟悉代码的人(作者)来写

3. 单元测试过后,机器状态保持不变

4. 单元测试要快(一个测试用例的运行时间是几秒钟)

5. 独立性—测试的运行/通过/失败不依赖于别的测试

6. 覆盖所有代码路径

7. 单元测试应该集成到自动化测试的框架中

8. 单元测试必须和产品代码一起保存和维护

关于性能分析:

  性能分析往往是开发人员容易忽视的步骤,这也是为什么我们一年一年的不停做性能优化的原因,大部分人对嵌入式的实时性和性能要求没有概念。 Visual Studio实际上提供了性能分析工具(Tools\PerformanceTools\Performance Wizard),其中有两种分析方法:Sampling和Instrumentation,即抽样和代码注入,抽样的原理比较简单,kprofile也类似,就是用比较短的周期去采用PC指针,看看是在哪个函数在执行,并把当前周期的时长累计为该函数的执行时长;  代码注入,相当于打点,是将检测的代码加入到每个函数中。

一般进行性能分析的做法是,先用抽样的方法找到函数热点,然后对特定的模块用代码注入进行详细分析。

这个方法,后面在我们的性能优化工作中可以多尝试下,让业务和支撑领域相关人员看看效果。

关于个人开发流程:

  我们熟知CMM和CMMI,软件行业的国际通用标准,这两种能力成熟度模型,他们是用来衡量一个团队能力的模型,由卡内基梅隆大学(CMU)制定推出。其实CMU的专家针对软件工程师也有一套模型,叫Personal Software Process(PSP),即个人开发流程的标准

时间: 2024-08-09 12:50:42

读书笔记三的相关文章

软件需求十步走读书笔记2

今天读完了软件需求十步走的第二部分.读了知识篇和方法篇.在知识篇中知识体系的构建方法 事物的知识是由知的知识和识的知识构成.识的知识是以知的知识为核心的需求工程的知识构成 需求工程的知识体系是由基础知识体系.专用知识体系.特有知识体系三个部分构成需求工程的基础知识 形式逻辑中演绎.推理.假设.论证等方法对于解决软件需求中“不完整.不准确.总在变.不一致”问题具有帮助需求工程的专有知识.需求工程的专有知识包括软件工程.软件体系架构和信息资源规划需求工程的特有知识 需求规划是新一代软件需求工程有别于

软件需求十步走读书笔记1

今天开始读软件需求十步走这个本书,这本书把软件的需求调研分为十步,两个阶段.书中主要的几个问题:难点问题.性能问题.范畴问题.鸿沟问题.关系问题.观念问题.地位问题.主要针对这几个常见易出的问题,作者做出解释和分析以及面对这些问题应该如何去做,从中交给我们解决问题的道理. 需求规划是新一代需求工程中的最大亮点,它的工作是将业务.对象和信息化体系作为研究对象,采用科学研究.体系架构设计.信息资源规划的方法,编制出具有系统性.科学性.前瞻性的需求规划成果.需求规划的成果中包括形势分析.业务体系分析.

《软件需求十步走》读书笔记三

近期读了<软件需求十步走>最后的部分,分别是管理篇.组织篇. 管理篇 1.需求管理的思路 :需求工程的需求业务活动由需求规划中的6个业务活动和需求开发的4个业务活动共计10项业务活动组成,构成了需求工程的业务主线.需求工程的需求管理活动的目标就是确保需求业务活动能够按进度要求.质量要求.成本要求生产出高质量的软件需求. 2.需求版本控制 :软件需求基线是由各阶段需求业务活动的工作成果文档和文档内各部分内容的版本号的集成.软件需求基线工作的落实借助这些工作成果文档和文档内部分内容版本号来实现的.

《软件需求十步走》读书笔记二

这次都<软件需求十步走>的后三篇,分别为“方法篇”.“规划篇”.“开发篇”. 方法篇: 1.需求工程的方法观 方法的使命就是要将问题的结构和规律展现出来 2.分析计算方法 分析计算是需求规划方法与传统需求分析方法有本质区别的地方之一.分析计算包括系统支撑能力计算和业务发展能力计算 3.结构化分析方法 结构化的分析(又称SA)方法是本书在需求规划中的业务建模.系统建模和体系建模所采用的方法 4.面向对象分析方法 在需求分析中本书采用面向对象的分析方法作为用例分析和功能需求分析的方法 5.需求统一

《软件需求十步走》阅读笔记六

本次阅读笔记写一下<软件构造十步走>最后一篇<组织篇>. 本篇共分为四章,分别是建立需求分析体系,需求分析部门的组织结构,需求分析部门的管理工作,需求分析部门的业务工作. 首先是<建立需求分析体系>. 长期以来"轻业务.重技术"的理念根深蒂固,而解决措施是建立一个专业从事软件需求分析的独立部门来承担这项工作.此部门是介于业务部门和技术部门之间的,专门负责对组织自身业务.客户业务.客户对象和竞争对手的研究,然后将其转换成提供给技术部门的软件需求规格说明

《软件需求十步走》阅读笔记二

这一段时间阅读了<软件需求分析十步走>的第三四章,写一写书中一些个人感觉比较好的说法以及阅读感受. 首先是第三章<软件需求工程概论>. 需求工程和软件工程之间的关系界定没有质的变化,只是将需求工程从软件工程中剥离出来,将需求分析的分析工作和管理工作定义为需求工程.需求工程是面向全局的.系统顶层的.着眼未来的工程,是将客户业务作为内部研究对象,将软件工程全过程作为外部研究对象的工程.需求工程是圆心,软件工程是圆点. 需求工程的特征具有:全局性.主导性.主动性.过程性.规范性.可验证性

《软件需求十步走》阅读笔记三

需求既然是项工程,就有其完整的过程.需求工程研究领域可以划分为需求规划.需求开发.需求管理三个部分,新一代的需求工程过程由10个业务活动构成,分别是业务研究.应用建模.系统规划.分析计算.报告编制.规划评审.需求获取.需求分析.需求编制.需求验证. 传统的需求分析中有着三种角色,客户角色.分析角色和团队角色,三种角色领域不同,思维方式也不同,就产生了很多矛盾的问题.产生这样的问题是由于各个领域都在其自己的轨道上运行,并没有相结合起来,产生很多分歧.所以为了解决这样的问题,我们引入了一个新的领域,

阅读笔记:软件需求十步走(三)

软件需求的验证工作的目的是保证需求分析成果的完整性和正确性,保证软件开发后的软件产品是用户所需要的.软件需求验证的工作的重要性是在于发现修复需求分析中存在的问题.软件需求验证的主要工作是自我验证,用户验证,系统验证,技术验证,专家验证,主要是以评审会方式来展开,收集各方意见来进行修正.需求验证存在的问题是还处于人工检测阶段,对验证工作重视程度不够.而目前在验证的方法上存在的问题,大量的还依赖于人工检测,这对于当前的大数据量服务还远远不够,操作性也不太高.我们想说这种情况下,还有没有其他办法?我认

《软件需求十步走》阅读笔记五

本次阅读笔记写一下本书的第六篇<管理篇>. 第六篇共分为四章,分别是需求管理的思路.需求版本控制.管理变更请求.需求跟踪能力. 首先是第一章<需求管理的思路>. 需求管理活动的目标就是确保需求业务活动能够按照进度要求.质量要求.成本要求生产出高质量的由业务需求.用户需求和系统需求构成的软件需求规格说明.需求管理工作具体是借助由基线.版本.状态.变更.跟踪构成的需求约定这一抓手将需求业务活动集成起来并加以规范化.需求管理活动的目的是在客户与软件开发人员之间建立一个由文档构成的需求基线

《软件需求十步走》阅读笔记一

从学习软件以来,每个程序老师都会告诉我们要进行需求分析,而自己有时会简简单单需求分析一下,有时都不会管,然后每次写程序都会删改到自己都不知道程序要有什么功能,程序是用来做什么的,越做越感觉定题与所实施得到的结果分开了很多,没有了自己最初的设想.现在学习需求分析,感觉是自己的想法太简单了.通过对以前程序编写过程的反思,深刻的体会到了需求分析的重要性.“对需求分析工作事前千夫所指是有益的,而事后千夫所指是无畏的”. 一直以为程序才是软件好坏的关键,总是忽略了对软件的需求分析.许多数据表明,软件需求分