- 博客(26)
- 收藏
- 关注
原创 软件全面质量管理的思想体系
软件全面质量管理的思想体系?1、全面质量管理概述20世纪70年代中期,美国国防部曾专门研究软件工程做不好的原因,发现70%的失败项目是因为管理存在的瑕疵引起的,而非技术性的原因,从而得出一个结论,即管理是影响软件研发项目全局的因素,而技术只影响局部。·因而软件质量被视为开发中的重中之重。人们普遍都认为质量是“好的东西”,但是在实际上系统的质量可能是模糊的、尚未定义的属性。所有商品和服务的开发者都关心质量,不过由于软件的固有属性,尤其是软件的不确定性和复杂性,会带来特殊的需求。·增加了软件的危险程度
2021-11-10 20:55:14 131
原创 CMM与CMMI的关系
CMM与CMMI的关系?CMMI是在CMM基础上发展起来的,它继承并发扬了CMM的优良特性,借鉴了其他模型的优点,融入了新的理论和实际研究成果。它不仅能够应用在软件工程领域,而且可以用于系统工程及其他工程领域。CMM与原有的能力成熟度相比,CMMI涉及面更广, 专业集领域覆盖软件工程、系统工程、集成产品开发和系统采购。CMMI 与CMM 最大的不同点在于:1.CMMI SM-SE/SW/IPPD/SS 1.1 版本有四个集成成分。2.CMMI 有两种表示方法,一种是和CMM 一样的阶段式表现方法,
2021-11-10 20:49:07 376
原创 什么是MTTF、MTBF、MTRF?
什么是MTTF、MTBF、MTRF?MTTF(mean time to failure平均失效前时间),定义为随机变量、出错时间等的”期望值”。但是,MTTF经常被错误地理解为,"能保证的最短的生命周期”。MTTF的长短,通常与使用周期中的产品有关,其中不包括老化失效。MTBF(Mean time between failures,平均故障间隔时间)定义为,失效或维护中所需要的平均时间,包括故障时间以及检测和维护设备的时间。对于一个简单的可维护的元件,MTBF = MTTF +MTRF因为MTRF通常远
2021-11-05 11:42:59 445
原创 Ad hoc Test
Ad hoc Test“Ad-Hoc” 原意是指 “特定的,一次性的”,这里专指“随机的,自由的”测试。在软件测试中除了根据测试样例和测试说明书进行测试外,还需要进行随机测试(Ad-hoc testing),主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行样例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例(TestCase)没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点
2021-10-20 16:33:25 93
原创 Smoke Test
Smoke Test,即冒烟测试,源自线路板组件测试,给线路板加电,看看线路板会不会冒烟,没冒烟,就表示待测组件是通过了测试。准备测试经理和项目经理等相关人员从测试用例库中选定重要的测试用例,标记为冒烟测试用例。或者单独编写。1、主流程和主功能的确认要求测试人员在测试开始前跟开发人员确认需求和重要的流程、功能,最好将功能点和流程以及预期结果和开发人员说明清楚。冒烟测试不要求测试结果像正式测试阶段那么准确,但是也需要列一个指标来衡量测试是否通过。)2、预计时间根据列出的功能点和开发人员代码质量的可
2021-10-20 16:29:32 200
原创 如果不确定客户端是否禁用cookie,则可以使用URL重写技术?
URL重写是指服务器程序对接收的URL请求重新写成网站可以处理另一个URL的过程。URL重写技术是实现动态网站会话跟踪的重要保障。在实际应用中,当不能确定客户端浏览器是否支持Cookie的情况下,使用URL重写技术可以对请求的URL地址追加会话标识,从而实现用户的会话跟踪功能。URL重写实现会话跟踪,要保证每个页面都必须使用Servlet或JSP动态页面。因为附加在URL上的sessionID是动态产生的,所以对于静态页面的跳转,URL重写机制无能为力。可以通过HttpServletResponse的enc
2021-10-16 21:19:03 69
原创 内置对象session与httpSession对象是同一个东西吗?
不是。内置对象session存放有关连接的信息,是javax.servlet.http.HttpSession类的实例,是JSP中默认内置的JAVA对象。Httpsession是一种将客户端信息保存在服务端的技术,是JAVA对session机制的实现规范,实质是接口。...
2021-10-16 21:14:54 59
原创 在检查点应该获得哪些信息
在检查点应该获得哪些信息?检查点记录是一类新的日志记录。它的获得信息包括:①建立检查点时刻所有正在执行的事务清单②这些事务的最近一个日志记录的地址。
2021-09-20 16:18:13 93
原创 怎样检查软件质量
怎样检查软件质量?1、功能性:用户的需求是否满足,即客户要求的功能是否全部实现2、易使用性:对于一个刚上手的用户来讲,软件是否对用户具有友善性以及方便性,即软件的功能操作不需要用户花太多的时间去学习或理解怎么用3、高效率性:这里涉及到软件的性能相关,在指定的条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度。效率反映了在完成功能要求时,有没有浪费资源,此外"资源";这个术语有比较广泛的含义,它包括了内存、外存的使用,通道能力及处理时间。4、可靠性:在规定的时间和条件下,软件所能
2021-09-20 16:10:32 377
原创 为预防软件质量缺陷应该做点什么
为预防软件质量缺陷应该做点什么?常见的方法就是评审、重构、复用以及原因分析。评审评审是很常见的一种验证手段。虽然普通,但它的作用可不小。软件缺陷很大一部分是来自于对需求的定义和理解不正确。而如果你能做好需求评审,可以很大程度地减少这部分缺陷。同样的,设计评审可以很大程度上减少设计缺陷。在软件实现之前,评审是最有效地去除缺陷的手段,而越早去除这些潜在的缺陷,所需的代价也会越小。评审是一种缺陷去除手段,在这里说是缺陷预防方法,是站在代码的角度来说的,因为这时代码还没有生成,评审去除的缺陷就像是预防
2021-09-20 16:06:02 191
原创 选择什么样的开发组织
选择什么样的开发组织?团队中的技术人员在开发app的过程中技术人员是非常重要的,团队的技术人员水平高低直接决定了开发出来app的质量高低。后期的服务app开发的工作在开发完成之后并不是就全部完成了,在完成app开发以后还涉及到app的更新等等方面,如果选择了后期团队完善的公司那么服务也会更好一些。开发团队的技术能力不同的行业导致app有各种各样的类型,很多企业对于app开发的要求也会高一些,在开发的过程中,每个不同的app开发团队也有属于自己的特色,对于app开发公司的考察因素主要包括企业的服务
2021-09-20 15:57:32 128
原创 最终产品的质量需求是什么
最终产品的质量需求是什么?是指为达到以更低成本更好质量满足最终用户对最终产品的需求为目的,而以提供产品为核心,将供应源到需求源所涉及的各个环节组成的有机结合体。
2021-09-20 15:51:04 444
原创 2021-09-14
什么是图灵测试?图灵测试的核心想法是要求计算机在没有直接物理接触的情况下接受人类的询问,并尽可能把自己伪装成人类。图灵测试的方法很简单,就是让测试者(人)与被测试者(机器)隔开,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果有超过30%的测试者不能确定出被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人工智能。...
2021-09-14 15:57:43 220
原创 2021-04-24
决策树 – 回归解决问题实现基于特征范围的树状遍历的回归。解决方案通过寻找样本中最佳的特征以及特征值作为最佳分割点,构建一棵二叉树。选择最佳特征以及特征值的原理就是通过满足函数最小。其实选择的过程本质是对于训练样本的区间的分割,基于区间计算均值,最终区域的样本均值即为预测值。在预测的时候,将会根据提供的样本的特征,来遍历二叉树(确定区域的过程),其中叶子节点的值就是预测值。构建回归决策树,过程,其实可以理解对训练样本进行监督式聚类,每个分类都是有一组特征逻辑范围做描述;预测的时候,其实就是在匹配
2021-04-24 22:56:16 139
原创 2021-04-18
详细了解软件测试过程的V model,W模型,H模型。1.软件测试过程模型-V模型是软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系;局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现 。2.软件测试过程模型-W模型在V模型的基础上,增加千开发阶段的同步测试,形成W模型;测试与开发同步进行,有利用尽早的发现问题 。局限性:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更
2021-04-18 21:56:05 155 1
原创 2021-04-07
了解Java的反射机制反射 (Reflection) 是Java的特征之一,它允许运行中的Java程序获取自身的信息,并且可以操作类或对象的内部属性。通俗的来讲就是:通过反射机制,可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。注意这里的重点是:运行时,而不是编译时。我们常规情况下写的对象类型都是在编译期就确定下来的。而Java反射机制可以动态地创建对象并调用其属性,这样创建对象的方式便异常灵活了。虽然通过反射可以动态的创建对象,增加了灵活性,但也不是什么地方都可用,还要考虑性能、编码量、安
2021-04-07 22:20:24 168 4
原创 2021-04-03
阅读和了解什么是形式化方法在计算机科学和软件工程领域,形式化方法是基于 数学的特种技术,适合于软件和硬件系统的描述、开发和验证。将形式化方法用于软件和硬件设计,是期望能够像其它工程学科一样,使用适当的数学分析以提高设计的可靠性和 鲁棒性。但是,由于采用形式化方法的成本高意味着它们通常只用于开发注重安全性的高度整合的系统。形式化方法在古代就运用了,而在现代逻辑中又有了进一步的发展和完善。这种方法特别在数学、 计算机科学、人工智能等领域得到广泛运用。它能精确地揭示各种逻辑规律,制定相应的逻辑规则,使各种理论
2021-04-03 10:30:25 65
原创 2021-03-31
Why Software Development Methodologies Suck(为什么软件开发方法论让你觉得糟糕)围绕软件开发实践和方法论,总有很多教条式的口水仗。阶段式(phase-gate)方法能够有效管理软件开发过程的风险,还是说只是风险管理中的花哨噱头?TDD真的能够促生出高品质软件?结对编程是代码评审的有效替代抑或只是增加了商议沟通代价?我想说,虽然缺乏证据判断这些论调的谬处,但有两条常用的法则能够帮助我们选择好的实践,同时,提升我们所提供软件的价值:划小开发周期以及提升反馈效率。Mi
2021-03-31 19:39:21 73 1
原创 2021-03-26
了解WBSWBS(工作分解结构)是Work Breakdown Structure的英文缩写,是项目管理重要的专业术语之一。WBS的基本定义:是一种在项目全范围内分解和定义各层次工作包的方法。WBS最后构成一份层次清晰的结构,可以具体作为组织项目实施的工作依据。无论在项目管理实践中,还是在 PMP,IPMP考试中,工作分解结构(WBS)都是最重要的内容之一。WBS总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。WBS同时也是控制项目变更的重要基础。项目范围
2021-03-26 15:23:31 388
原创 2021-03-26
什么是分而治之?从中文的角度来讲,意思是分别治理;利用手段使国家、民族或宗教等产生分裂,然后对其进行控制和统治。从程序猿的角度来讲,所谓“分而治之” 就是把一个复杂的算法问题按一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的解,把各部分的解组成整个问题的解,这种朴素的思想来源于人们生活与工作的经验,也完全适合于技术领域。诸如软件的体系结构设计、模块化设计都是分而治之的具体表现。...
2021-03-26 14:53:10 70 1
原创 2021-03-26
为什么软件开发周期总是预估的2~3倍?答:1.构造软件框架时做的东西没有也无法全量覆盖 业务需求、技术难点 等,导致与实际落地产品 差距甚大。2.需求理解有差异,用户表达的是这样的,而程序员的理解是这样的,且客户需求不定,增加需求,组织协调不畅。3.项目经理没有处理好任务的时间分配。有的任务分配时间过长,浪费了时间,有的任务分配时间过短,没时间去完成。4. 某些独立的任务一致性要求高,无法增添人员并行加速,因为有些任务对于思考的连贯性很强,如果强行加派人手,只会 频繁中断。5. 开发人员对实现目标
2021-03-26 14:43:48 65
原创 2021-03-19
目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危险病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性。医院对患者监护系统的基本要求是随时接受每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以及形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。答:从文体陈述可知,本系统的数据源点是“病人”和“
2021-03-19 11:43:26 155
原创 2021-03-19
有人负责,才有质量:写给在集市中迷失的一代的感悟答:在我没接触到IT行业时,总以为在这信息时代里很高大上,web程序员都很厉害,把我们生活中的事物用抽象的语言表达出来。实文章里提到在14年前,COM兴起的时候有很多人踊跃于这个行业,但整个.COM时代总体上对IT/CS而言就是一场灾难,尤其对软件质量和Unix来说,更是如此。学会计算机编程很容易,就像学会用钉子把两块木板钉到一起一样简单。就像现在很多大学的非计算机类专业学生也会开设基本的程序语言课程,更有人会自学更深入的知识。但是普遍出现一个问题就是质量,
2021-03-19 07:36:30 100 3
原创 2021-03-19
软件工程方法论对我们软件开发有多大用处?谈谈你的看法?答:软件工程方法论是指在软件开发的过程中必须遵循的普遍行为和规则。当我们开发软件的时候就需要用到软件工程方法论。使用软件工程方法论首先从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发。前一个阶段任务的完成是开始进行后一个阶段工作的前提和基础而后一阶段任务的完成通常是前一阶段提出的解法更进一步具体化,加进了更多的物理细节。软件工程方法论为每一个阶段都设置了严格的标准,让软件在开发的过程中减少了许多错误的地方。同时软件工程方法论系统地研究了开发方法
2021-03-19 07:27:47 88
原创 2021-03-18
从瀑布到敏捷-漫画解读软件开发模式变迁史答:瀑布模型这间小屋和其他小屋有着明显的界限之外,其他几种模型就像一座山,有着不可分割的关系,这也恰好表明,瀑布模式和敏捷开发模式是软件工业先后经历的两个阶段,而 KANBAN,SCRUM 和 LEAN 则是敏捷运动的产物。瀑布模型指软件开发是按照一定顺序展开的(传统线性生产流程 : Traditional,linear production flow)。就像汽车生产的流水线一样,每个部门各司其责,工作按照顺序展开,交付件单通道线性流动。你看这幅图,总体上就分为:需
2021-03-18 22:58:28 123
原创 2021-03-13
软件工程是不是教会不怎么会写程序的人开发软件?你的观点?答:软件工程是教那些不会开发复杂项目的人怎样去编程的学科。当我们学习一门编程语言时,在学习过程中我们会试着编写一些小程序,这些程序有可能是几行代码,而当编写的程序变得复杂,需要很多代码和复杂的逻辑结构时,我们发现并不会。也许你可能试着像以前一样按自己的想法去实现这个复杂的程序,但是当程序的代码越来越多,也很难去修改。所以一个复杂系统的开发,需要一套规范的管理方法去管理这个开发的过程,软件工程就是关于怎样管理开发过程的学科。通过软件工程的指导一个结构清
2021-03-13 17:13:53 59
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人