构建之法第2章个人技术和流程

kxbk100 kxbk100     2022-10-22     671

关键词:

1 单元测试

(1) 单元测试

(2) 回归测试

回退操作

2 效能分析工具

先用抽样的方法找到效能瓶颈所在,然后对特定的模块用代码注入的方法进行详细分析

3 个人开发流程

(1) 计划

  • 明确需求和其他相关因素,指明时间成本和依赖关系
  • 分析需求
  • 生成设计文档
  • 设计复审(和同事审核设计文档)
  • 代码规范(为目前的开发定制合适的规范)
  • 具体设计
  • 具体编码
  • 代码复审
  • 测试(包括自测,修改代码,提交修改)
  • 记录用时
  • 测试报告
  • 计算工作量
  • 事后总结
  • 提出过程改进计划
  • 一个模块(类)应该只有一个导致它变化的原因,一个模块应该完全对某个功能负责
  • 允许拓展。当应用的需求发生改变时,我们可以对模块进行拓展,从而改变模块的功能
  • 不允许修改。对模块行为进行拓展时,不必改变模块的本身
  • 属性拓展:超过64位的数字
  • 数量拓展:十万条数据
  • 维度拓展:多维数组
  • 其他属性拓展
  • 形象的显示数据处理的过程
  • 维度拓展
  • 数量拓展
  • 增量改进
  • 让用户更喜欢这个软件
    • o 记住上次的状态
    • o 自动展现上次文档最后编辑的地方
  • 多用户
  • 多语言
  • 安全性
  • 平台的迁移
  • 多语言接口
  • 增量升级部分模块
  • 基本功能
  • 拓展功能
  • 高级功能

(2) 开发

(3) 报告

4 软件设计的原则

(1) 单一职责原则

(2) 开放-封闭原则

5 程序的健壮性

(1) 数据

(2) 需求

(3) 用户

(4) 软件构建

6 实践

(1) 工作的细分

(2) 如何保证质量——回归测试

保证在加入新功能的过程中,已有的功能可继续工作,我们需要建立起一系列测试文件

 

构建之法第六章敏捷流程

敏捷是一种很“年轻态”的思路/策略,是以“万事万物都在不停地发展变化”为指导去组织软件工程的需求分析、内部的调和、代码编写甚至维护,所以我读起来会觉得很有共鸣。然而并不是所有的地方都适合让“敏捷”去闯... 查看详情

构建之法第四次心得

第六章学习了之前的内容之后,我了解到了团队合作的流程以及在编码时候一些格式的注意,在学习第六章后,对敏捷流程有了大致的了解。敏捷流程是一种很好的软件开发的流程,我认为在软件开发时,敏捷开发可以使得软件... 查看详情

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

典型的团队开发模式和流程,完全是新的内容;涉及到更多的术语和有意思的策略性东西1.团队模式【我比较认可的】主治医师模式由首席程序员(相当于首席医生)负责整个工程,周围人员各司其职,配合支持中心人物的工作... 查看详情

构建之法第五章学习

今天我学习了《构建之法》第五章团队和流程。首先我了解了写了再改模式(Code-and-Fix)史蒂夫·迈克康奈尔(SteveMcConnell)在这里提到了不少开发流程。第一个提到的开发流程。这个流程也有好处,不需要太多其他准备或相关... 查看详情

构建之法第八九章学习

第八章:需求分析这一章主要讲述了软件需求的类型、利益相关者、获取用户需求的常用方法和步骤、竞争性需求分析的框架NABCD、四象限方法、项目计划和估计的技术。确认软件需求有以下步骤:1.获取和引导需求、2.分析和定... 查看详情

构建之法第六章学习心得

这周我学习了构建之法第六章敏捷流程,本章主要介绍了敏捷流程及其原则,Backlog、Burn-down、Sprint、Scrum方法论。以及什么时候选择敏捷的开发方法,什么时候选择其他方法。.敏捷开发的原则是尽早并持续地交付有价值的软件... 查看详情

构建之法第六章

构建之法第六章本章为敏捷流程,主要介绍了敏捷流程及其原则,Backlog、Burn-down、Sprint、Scrum方法论,各种软件开发方法论的优缺点,,选择软件流程根据等敏捷开发:是一系列价值观和方法论的集合敏捷开发的原则:1、尽早... 查看详情

构建之法第二周学习体验

     首先我学习了个人能力的衡量与发展。软件工程中有一项是软件开发流程,目的是为了提高软件开发、运营和维护的效率。但是软件开发流程不光是指团队的流程,还包括个人开发流程,因为软件团队是由... 查看详情

构建之法第1章概论

1公式软件=程序+软件工程软件的质量=程序的质量+软件工程的质量 程序=数据结构+算法软件企业=软件+商业模式2软件的特殊性复杂性不可见性易变性服从性(软件不能独立存在)非连续性3软件工程与计算机科学的关系计算机... 查看详情

构建之法第十一章读后感

本周进行了构建之法的第十一章软件设计与实现的学习;第十一章主要讲了典型的开发流程,常见的分析和设计方法:ERD,DFD,UML,开发阶段的一些管理方法:每日构建,小强地狱,构建大师;分析和设计方法包括以文字为主的... 查看详情

构建之法第八章需求分析

其实这是“啃硬骨头”的第一步,就是如何从“茫茫”中锁定需求相关方、挖出来需求的方法论1.挖取需求获取和引导需求。需求不仅是来自外界,甚至也可以来自技术成员团队内部;分析和定义需求。主要是对需求进行量化;... 查看详情

构建之法第3章软件工程师的成长

1软件工程师的成长积累软件开发相关的知识,提升技术技能积累问题领域的知识和经验对通用的软件设计思想和软件工程思想的理解提升职业技能实际成果2软件工程师的思维思维误区分析麻痹不分主次,想解决所有依赖问题过... 查看详情

构建之法第六七八章

第六章敏捷流程敏捷流程开发原则1.尽早并持续的交付有价值的软件以满足顾客需求2.敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势3.经常发布可用的软件,发布间隔可以从几周到几个月,能短则短4.业务人员... 查看详情

构建之法第一章概论

...迈向实用的最关键的一步,就是软件工程。1.概念1)软件构建:除了代码和静态数据,还有各种文件和数据来描述各个程序文件之间的依赖关系等;2)源代码管理/配置管理:保证代码的平台兼容性、配置兼容性等;3)质量保障... 查看详情

构建之法第五六章读后感

邹欣老师的这本书,写得形象生动,第五章用体育运动等团队例子引出软件开发团队的形式。软件团队形式多样,适用于不同的人员与需求。团队可能会演变的模式有:主治医师模式、明星模式、社区模式、业余剧团模式、秘密... 查看详情

构建之法第三四五章

第三章软件工程师的成长1.个人能力的衡量与发展初级软件工程师如何成长:(1)积累软件开发相关的只是,提升技术技能。例如:对java、c、c++,c#的掌握,诊断提高效能的技术,对设备驱动程序、内核调试器的掌握;对于某... 查看详情

构建之法第八章学习心得

今天,我学习了构建之法第八章软件需求,人们为了解决现实社会和生活中的各种问题,要求助于软件。人们的需求五花八门,那么软件团队如何才能准确而全面地找到这些需求呢?需求分析1.获取和引导需求软件团队需要找到... 查看详情

构建之法第八,九章

第八章:需求分析这一章主要讲述了软件需求的类型、利益相关者、获取用户需求的常用方法和步骤、竞争性需求分析的框架NABCD、四象限方法、项目计划和估计的技术。确认软件需求有以下步骤:1.获取和引导需求2.分析和定义... 查看详情