读《构建之法》13--17章有感

第十三章讲的是软件测试,其包括功能测试和非功能测试,测试方法有单元测试,代码覆盖率测试,构建验证测试,验收测试“探索式”的测试,回归测试场景、集成、系统测试,伙伴测试,效能测试,压力测试,内部/外部公开测试,易用性测试

第十四章讲的是质量保障,软件的质量=程序的质量+软件工程的质量

第十五章讲的是软件的稳定和发布的阶段,在稳定阶段的初期,团队只需决定修复那些缺陷,然后团队成员进行代码的修改与测试,发布 阶段后,需回顾过程以及学到了什么

地十六章讲的是IT行业的创新,一个好的想法会带来伟大的创新,也会让其成为先驱者,创新会带来赢机

第十七章讲的是人,效绩和职业道德,团队合作是至关重要的,从萌芽到磨合再到规范,再到创造,才可以成功,软件工程师一定要有着自己的职业道德操守

时间: 2024-08-06 10:44:34

读《构建之法》13--17章有感的相关文章

读构建之法第四章第十七章有感

第四章 1.原文:"函数最好有单一的出口,为了达到这个目的,可以使用goto.只要有助于程序逻辑的清晰体现,什么方法都可以使用.--P69" 问题:关于goto,我记得老师讲过,这个在编程中是尽力避免的,所以我在之前并没有了解过它.本书却建议用,这让我产生了困惑. 我的看法:goto语句它可以不受限制的灵活跳转,这样程序员在使用goto语句的时候就很容易因为跳转而略过了一些关键语句.但是它能从多重循环体中跳出,用不着写很多次的break语句.我查了一些资料,发现自从提倡结构化设计以来,

阅读《构建之法》1-5章有感

第一章 概论 软件工程是什么? 软件工程的核心部分(构建管理.源代码管理.软件设计.软件测试.项目管理)和用户体验.用户界面设计等组成了软件工程,而软件=程序+软件工程. 软件开发过程中的难题有5点: 1.复杂性 2.不可见性 3.易变性 4.服从性 5.非连续性 软件的其他特性:1.有许多不同的程序设计语言.软件工具盒软件开发平台. 2.存在许多不同的软件开发流程. 3.软件团队中存在许多不同的角色. 4.软件通   常可以存储在磁带上,也可以存储在CD.DVD上. 第二章 个人技术和流程 个

阅读《构建之法》6-7章有感

第六章  敏捷流程 敏捷开发宣言——个体和交互 胜过 过程和工具可以工作的软件 胜过 面面俱到的文档客户合作 胜过 合同谈判响应变化 胜过 遵循计划 以上的宣言比较抽象,基于该理念,以下是ThoughtsWork咨询公司的推崇的n个敏捷开发实践:Iteration迭代开发.可以工作的软件胜过面面俱到的文档.因此,敏捷开发提倡将一个完整的软件版本划分为多个迭代,每个迭代实现不同的特性.重大的.优先级高的特性优先实现,风险高的特性优先实现.在项目的早期就将软件的原型开发出来,并基于这个原型在后续的迭

读构建之法 第三章:软件工程师的成长

本章理论和知识点:评价软件工程师水平的主要方法 软件工程把相关的技术和过程统一到一个体系中,叫"软件开发流程",软件开发流程的目的是为了提高软件开发.运营.维护的效率,以及提升用户满意度.软件的可靠性和可维护性. 软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的.个人在团队中也有独立的流程.把每个人的工作有序地组织起来,就是团队的流程."有序",并不是"无争论".在大部分成功的软件团队模型中,各个角色有不同意见的冲突在

读构建之法 第四章:两人合作

程序员写的代码最终是人在看,所以代码规范很重要,原则是:简明,易读,无二义性. 不光是程序书写的格式问题,还牵涉到程序设计.模块之间的关系.设计模式等方方面面. 代码复审的正确定义看代码是否在代码规范的框架内正确的解决了问题 代码复审的目的在于: 1.找出代码的错误,比如: 1)编码错误,比如一些碰巧骗过了编译器的错误 2) 不符合团队代码规范的地方 2. 发现逻辑错误,程序可以编译通过,但是代码的逻辑是错的 3. 发现算法错误,比如使用的算法不够优化,边界条件没有处理好等 4. 发现潜在的错误

读构建之法 第五章:团队和流程

团队有一致的集体目标,团队要一起完成这目标.一个团队的成员不一定要同时工作,例如接力赛跑. 团队成员有各自的分工,互相依赖合作,共同完成任务. 软件团队有各种形式,适用于不同的人员和需求.基于直觉形成的团队模式未必是最合适的.软件团队的模式,最初是混沌的一窝蜂形式:一群人开始写代码,希望能写出好软件.随着团队的成熟和环境的变化. 团队模式会演变成下面几种模式之一. 1.主治医师模式:有首席程序员,他/她负责处理主要模块的设计和编码,其他成员从各种角度支持他/她的工作(后备程序员.系统管理员.工具

读《构建之法》第4,17章有感

读<构建之法>第4,17章有感 第四章:两人合作 原文:另外,注释(包括所有的源代码)应该只用ASCII字符,不要用中文或其他特殊字符,否则会极大地影响程序的可移植性. 我的问题和看法:对于英语水平没有那么高的人来说,不允许中文注释真的太难了.刚开始学习代码的时候,老师就教导我们编程的时候一定要写注释,但是并没有非常严格的要求我们必须要用ASCII字符.我上网查找了一些资料,发现大部分公司对于注释并没有明确的要求.注释是为了方便让别人理解你的代码的,所以简洁易懂应该才是最重要的,在水平达到的情

《构建之法》读第六、第七章有感

<构建之法>读第六.第七章有感 第六章: 第六章主要详细介绍了敏捷流程,在软件工程范畴里,“敏捷流程”是一系列价值观和方法论的集合.这一章以敏捷流程的Scrum方法论而展开,Scrum 采用迭代.增量的方法来优化可预见性并控制风险,并且SCRUM 是一个用于开发和维持复杂产品的框架. 敏捷开发的流程如下: 1.找出完成产品需要做的事情,每一项工作用天为单位计算. 2.决定当前的冲刺(Sprint)需要解决的事情--Sprint Backlog. 3.冲刺阶段各个团队相互独立,所有的问题都只能在

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

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