首页 > 其他分享 >1.21

1.21

时间:2024-02-28 15:01:12浏览次数:24  
标签:软件开发 工程师 代码 单元测试 阶段 软件 1.21

我们据本书开始逐步的了解软件开发。首先,软件开发分为几个阶段:玩具阶段→业余爱好阶段→探索阶段→成熟的产业阶段。而在我们学习软件开发时也会经历以下几个阶段,首先是玩具阶段,这个阶段可能也就像我们高考完填报志愿时那样,对计算机有点兴趣,幻想着做出什么有意思的软件。这个时候我们对软件这个东西还是不是很了解,所以只能对以后会学习到的内容做一个简单的了解。之后时业余爱好阶段,我们虽然对软件的开发有了一定的了解,但是这个阶段的内容还是都比较简单,所以我们还是投入更多的时间在生活中,把这个只当是我们业余时的一种爱好。再然后就是探索阶段,到了这里,就是正式的步入了软件开发的正式领域了,在我们开发的过程中经常遇到各种各样的问题,所以在这个阶段需要我们不断的自己去研究探索。

软件还有其他特性:有许多不同的程序设计语言、软件工具和软件开发平台、存在许多不同的软件开发流程、软件团队中存在许多不同的角色、软件通常既可以存储在磁带上,也可以存储在CD/DVD上。所以软件开发所学习的范围也非常的广泛:包括编程语言、软件开发平台、软件开发流程、团队人员的交流和软件的适用平台等等。这些都是软件开发者必要的技能。

之后进入书的第二章节个人技术与流程

最开始的内容是单元测试虽然我目前对着这些的了解并不多,但是书中的大致内容主要是: 重要的单元测试:有效解决程序员对模块功能的误解、疏忽或不了解模块的变化之类的问题,使自己负责的模块功能定义尽量明确,模块的质量得到稳定的、量化的保证。 好的单元测试的标准: 在最基本的功能/参数上验证程序的正确性 单元测试必须由最熟悉代码的人(程序的作者来写) 单元测试过后,机器的状态保持不变 单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟) 单元测试应该产生可重复、一致的结果 独立性——单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性 单元测试应该覆盖所有代码路径 单元测试应该集成到自动测试的框架中 单元测试必须和产品代码一起保存和维护 单元测试的基础上能够建立关于这一模块的回归测试,目的是:验证新的代码的确改正了缺陷 。同时验证新的代码有没有破坏模块的现有功能,有没有Regression。、

其次是效能分析,效能分析的方法为:抽样和代码注入。抽样和代码注入是两种常用的效能分析方法。抽样是通过在系统中随机选择一部分数据或者操作进行分析,以代表整个系统的行为和性能。代码注入则是向系统中插入特定的代码,用于监测系统的性能和行为。这两种方法都可以帮助开发人员和工程师们更好地了解系统的性能和行为,从而进行必要的优化和改进。

这章最后是个人软件过程(PSP),这是一种软件开发方法,其特点包括: 不局限于某一种软件技术,而是关注软件开发的流程,使得开发不同应用的软件工程师可以相互比较。 不依赖于考试,而主要依赖工程师自己收集数据,然后进行分析和提高。 在小型、初创的团队中,很难找到高质量的项目需求,这可能导致程序员的输入质量不高,从而影响程序员的输出质量。 PSP依赖于数据,包括工程师输入数据的时间代价、数据可能遗失或不准确的风险,以及可能出现一些数据不利于工程师本人的情况。 PSP的目的是记录工程师如何实现需求的效率,而不是记录顾客对产品的满意度,因此工程师有可能高效地开发出顾客不喜欢的软件。

 

标签:软件开发,工程师,代码,单元测试,阶段,软件,1.21
From: https://www.cnblogs.com/luoqingci/p/18040405

相关文章

  • 1.21
    v-bind动态地绑定一个或多个属性,或一个组件prop到表达式。v-bind缩写为‘:’在绑定prop时,prop必须在子组件中声明。可以用修饰符指定不同的绑定类型。 <imagev-bind:src="imgUrl"></image> <!--缩写--> <image:src="imgUrl"></image> <!--prop绑定。“prop”必须在......
  • 2024.1.21 ~ 2024.2.2 集训总结
    集训大纲Week1:图论:拓扑排序、欧拉回路、二分图、最小生成树数据结构:并查集、堆、单调队列week2:图论:连通性数据结构:线段树图论拓扑排序将DAG上的点以关联性进行排序,得到一个有关联的枚举顺序。有了这种特别的枚举顺序,使得在DAG上DP的转移过程更加合理且有......
  • 上周热点回顾(1.15-1.21)
    热点随笔:· 35岁程序员被裁员,这半年他的故事 (路泽宇)· 博客园淘宝店开张:园子的第一款简陋鼠标垫,是否是您值得拥有的周边 (博客园团队)· 如何使用.NET在2.2秒内处理10亿行数据(1brc挑战) (InCerry)· 前任开发在代码里下毒了,支付下单居然没加幂等 (程序员老猫)· Spring......
  • 2024.1.21模拟赛 C题解
    简要题意略思路首先有一个\(O(nk)\)的暴力dp,30pts我们可以发扬人类智慧,构造势能函数\(U_x=\sum_{未选择的点i}dis(i,x)+h_i\),当前在\(x\)点定义\(f_i\)表示走到\(i\)点时势能函数的最小值,\(s_i\)表示\(i\)到起点的距离容易发现只会跨过起点进行转移,于是\(f_i=f_j+2\tim......
  • 闲话1.21
    颓。周日啊,大颓特颓......
  • 2024.1.21模拟赛 B题解
    题目大意略思路首先有一个50pts的网络流暴力考虑按照\(dp\)值分层,发现在同一层内,随着\(i\)递增,\(a_i\)递减由此可以进一步推出每一个点连接的出边,是下一层的一个区间,并且区间是单调的于是可以线段树优化建边,拿到60pts接着考虑模拟网络流,发现如果每次都选择第一条出边的话,就......
  • 1.21 && 第二场模拟赛记
    写在前面:非常好模拟赛,9道题,3道不用写,三道原题,两道原题,一道东方题。根据等量代换可得有5道原题。t2原题CF740C赛时理解错题意了,具体咋想的我也忘了,但是我的构造方法是每个区间从0开始构造,如果不在区间内则任意输出。但是正解是找到最小区间然后按区间循环输出即可。......
  • 1.21闲话暨模拟赛题解
    未卜先知推歌:二重变革/洛天依,言和byDELA上午写了模拟赛,下午不给我发代码不让我改题不让我看题面,smjb模拟赛一共9道题,4道原题(2道原题,2道"原"题),抛去3道不写的一共6道题T1「尘世闲游」(原神题)没让写T2「一心净土」(原神题&&原题「CF740C」)题解我这里一共找到......
  • 1.21寒假每日总结12
    思路&&Code12345678910111213141516171819202122232425262728293031323334353637/*高桥和青木N场比赛x      y得分情况分别为x1y1              ...                ..  ......
  • 学习笔记-24.1.21
    因此,当您在null引用上访问字段mingcheng时,它们不会被解析。相反,您应该首先创建一个对象并将其放入数组中。因此修改代码如下Pd[]pdd=newPd[20];for(inti=0;i<20;i++){Pdpd=newPd();pdd[i]=pd;} ......