![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件工程
顾*念
这个作者很懒,什么都没留下…
展开
-
2021-04-24
决策树 – 回归 解决问题 实现基于特征范围的树状遍历的回归。 解决方案 通过寻找样本中最佳的特征以及特征值作为最佳分割点,构建一棵二叉树。选择最佳特征以及特征值的原理就是通过满足函数最小。其实选择的过程本质是对于训练样本的区间的分割,基于区间计算均值,最终区域的样本均值即为预测值。 在预测的时候,将会根据提供的样本的特征,来遍历二叉树(确定区域的过程),其中叶子节点的值就是预测值。 构建回归决策树,过程,其实可以理解对训练样本进行监督式聚类,每个分类都是有一组特征逻辑范围做描述;预测的时候,其实就是在匹配原创 2021-04-24 22:56:16 · 114 阅读 · 0 评论 -
2021-04-18
详细了解软件测试过程的V model,W模型,H模型。 1.软件测试过程模型-V模型 是软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系; 局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现 。 2.软件测试过程模型-W模型 在V模型的基础上,增加千开发阶段的同步测试,形成W模型;测试与开发同步进行,有利用尽早的发现问题 。 局限性:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更原创 2021-04-18 21:56:05 · 125 阅读 · 1 评论 -
2021-04-07
了解Java的反射机制 反射 (Reflection) 是Java的特征之一,它允许运行中的Java程序获取自身的信息,并且可以操作类或对象的内部属性。通俗的来讲就是:通过反射机制,可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。 注意这里的重点是:运行时,而不是编译时。我们常规情况下写的对象类型都是在编译期就确定下来的。而Java反射机制可以动态地创建对象并调用其属性,这样创建对象的方式便异常灵活了。虽然通过反射可以动态的创建对象,增加了灵活性,但也不是什么地方都可用,还要考虑性能、编码量、安原创 2021-04-07 22:20:24 · 142 阅读 · 4 评论 -
2021-04-03
阅读和了解什么是形式化方法 在计算机科学和软件工程领域,形式化方法是基于 数学的特种技术,适合于软件和硬件系统的描述、开发和验证。将形式化方法用于软件和硬件设计,是期望能够像其它工程学科一样,使用适当的数学分析以提高设计的可靠性和 鲁棒性。但是,由于采用形式化方法的成本高意味着它们通常只用于开发注重安全性的高度整合的系统。 形式化方法在古代就运用了,而在现代逻辑中又有了进一步的发展和完善。这种方法特别在数学、 计算机科学、人工智能等领域得到广泛运用。它能精确地揭示各种逻辑规律,制定相应的逻辑规则,使各种理论原创 2021-04-03 10:30:25 · 51 阅读 · 0 评论 -
2021-03-31
Why Software Development Methodologies Suck(为什么软件开发方法论让你觉得糟糕) 围绕软件开发实践和方法论,总有很多教条式的口水仗。阶段式(phase-gate)方法能够有效管理软件开发过程的风险,还是说只是风险管理中的花哨噱头?TDD真的能够促生出高品质软件?结对编程是代码评审的有效替代抑或只是增加了商议沟通代价?我想说,虽然缺乏证据判断这些论调的谬处,但有两条常用的法则能够帮助我们选择好的实践,同时,提升我们所提供软件的价值:划小开发周期以及提升反馈效率。 Mi原创 2021-03-31 19:39:21 · 56 阅读 · 1 评论 -
2021-03-26
了解WBS WBS(工作分解结构)是Work Breakdown Structure的英文缩写,是项目管理重要的专业术语之一。WBS的基本定义:是一种在项目全范围内分解和定义各层次工作包的方法。WBS最后构成一份层次清晰的结构,可以具体作为组织项目实施的工作依据。无论在项目管理实践中,还是在 PMP,IPMP考试中,工作分解结构(WBS)都是最重要的内容之一。WBS总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。WBS同时也是控制项目变更的重要基础。项目范围原创 2021-03-26 15:23:31 · 355 阅读 · 0 评论 -
2021-03-26
什么是分而治之? 从中文的角度来讲,意思是分别治理;利用手段使国家、民族或宗教等产生分裂,然后对其进行控制和统治。 从程序猿的角度来讲,所谓“分而治之” 就是把一个复杂的算法问题按一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的解,把各部分的解组成整个问题的解,这种朴素的思想来源于人们生活与工作的经验,也完全适合于技术领域。诸如软件的体系结构设计、模块化设计都是分而治之的具体表现。 ...原创 2021-03-26 14:53:10 · 50 阅读 · 1 评论 -
2021-03-26
为什么软件开发周期总是预估的2~3倍? 答:1.构造软件框架时做的东西没有也无法全量覆盖 业务需求、技术难点 等,导致与实际落地产品 差距甚大。 2.需求理解有差异,用户表达的是这样的,而程序员的理解是这样的,且客户需求不定,增加需求,组织协调不畅。 3.项目经理没有处理好任务的时间分配。有的任务分配时间过长,浪费了时间,有的任务分配时间过短,没时间去完成。 4. 某些独立的任务一致性要求高,无法增添人员并行加速,因为有些任务对于思考的连贯性很强,如果强行加派人手,只会 频繁中断。 5. 开发人员对实现目标原创 2021-03-26 14:43:48 · 54 阅读 · 0 评论 -
2021-03-19
目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危险病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性。 医院对患者监护系统的基本要求是随时接受每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以及形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。 答:从文体陈述可知,本系统的数据源点是“病人”和“原创 2021-03-19 11:43:26 · 117 阅读 · 0 评论 -
2021-03-19
有人负责,才有质量:写给在集市中迷失的一代的感悟 答:在我没接触到IT行业时,总以为在这信息时代里很高大上,web程序员都很厉害,把我们生活中的事物用抽象的语言表达出来。实文章里提到在14年前,COM兴起的时候有很多人踊跃于这个行业,但整个.COM时代总体上对IT/CS而言就是一场灾难,尤其对软件质量和Unix来说,更是如此。学会计算机编程很容易,就像学会用钉子把两块木板钉到一起一样简单。就像现在很多大学的非计算机类专业学生也会开设基本的程序语言课程,更有人会自学更深入的知识。但是普遍出现一个问题就是质量,原创 2021-03-19 07:36:30 · 83 阅读 · 3 评论 -
2021-03-19
软件工程方法论对我们软件开发有多大用处?谈谈你的看法? 答:软件工程方法论是指在软件开发的过程中必须遵循的普遍行为和规则。当我们开发软件的时候就需要用到软件工程方法论。使用软件工程方法论首先从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发。前一个阶段任务的完成是开始进行后一个阶段工作的前提和基础而后一阶段任务的完成通常是前一阶段提出的解法更进一步具体化,加进了更多的物理细节。 软件工程方法论为每一个阶段都设置了严格的标准,让软件在开发的过程中减少了许多错误的地方。同时软件工程方法论系统地研究了开发方法原创 2021-03-19 07:27:47 · 71 阅读 · 0 评论 -
2021-03-18
从瀑布到敏捷-漫画解读软件开发模式变迁史 答:瀑布模型这间小屋和其他小屋有着明显的界限之外,其他几种模型就像一座山,有着不可分割的关系,这也恰好表明,瀑布模式和敏捷开发模式是软件工业先后经历的两个阶段,而 KANBAN,SCRUM 和 LEAN 则是敏捷运动的产物。瀑布模型指软件开发是按照一定顺序展开的(传统线性生产流程 : Traditional,linear production flow)。就像汽车生产的流水线一样,每个部门各司其责,工作按照顺序展开,交付件单通道线性流动。你看这幅图,总体上就分为:需原创 2021-03-18 22:58:28 · 99 阅读 · 0 评论 -
2021-03-13
软件工程是不是教会不怎么会写程序的人开发软件?你的观点? 答:软件工程是教那些不会开发复杂项目的人怎样去编程的学科。当我们学习一门编程语言时,在学习过程中我们会试着编写一些小程序,这些程序有可能是几行代码,而当编写的程序变得复杂,需要很多代码和复杂的逻辑结构时,我们发现并不会。也许你可能试着像以前一样按自己的想法去实现这个复杂的程序,但是当程序的代码越来越多,也很难去修改。所以一个复杂系统的开发,需要一套规范的管理方法去管理这个开发的过程,软件工程就是关于怎样管理开发过程的学科。通过软件工程的指导一个结构清原创 2021-03-13 17:13:53 · 47 阅读 · 0 评论