
软件工程
谈谈我对软件工程的一些理解和看法
Glut_程序汪
这个作者很懒,什么都没留下…
展开
-
决策树算法
决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。决策树方法最早产生于上世纪60年代,到70年代末。由J Ross Quinlan提出了ID3算法,此算法的目的在于减少树的深度。但是忽略了叶子数目的研究。C4.5算法在ID3算法的基础上进行了改进,对于预测变量的缺值处理、剪枝技术、派生规则等方面作了较大改进,既适合于分类问题,又适合于回归问题。决策树算法构造转载 2021-04-28 15:11:34 · 147 阅读 · 0 评论 -
2021-04-21
详细了解软件测试过程的V model,W模型,H模型。V模型(测试 )V模型的优缺点(测试重点)1、优点:包含了底层测试(单元测试)和高层测试(系统测试);清楚的标识了开发和测试的各个阶段;自上而下逐步求精,每个阶段分工明确,便于整体项目的把控。2、缺点:自上而下的顺序导致了,测试工作在编码之后,就导致错误不能及时的进行修改;实际工作中,需求经常变化,导致v模型步骤,反复执行,返工量很大,灵活度较低。 改良:每个步骤都可以进行小的迭代工作。W模型定义:开发一个v;测试一个v组合起来的模型(w模原创 2021-04-21 11:14:17 · 260 阅读 · 0 评论 -
形式化方法
形式化方法在古代就运用了,而在现代逻辑中又有了进一步的发展和完善。这种方法特别在数学、 计算机科学、人工智能等领域得到广泛运用。它能精确地揭示各种逻辑规律,制定相应的逻辑规则,使各种理论体系更加严密。同时也能正确地训练思维、提高思维的抽象能力。...原创 2021-04-04 19:05:38 · 75 阅读 · 0 评论 -
Why Software Development Methodologies Suck(为什么软件开发方法论让你觉得糟糕)
围绕软件开发实践和方法论,总有很多教条式的口水仗。阶段式(phase-gate)方法能够有效管理软件开发过程的风险,还是说只是风险管理中的花哨噱头?TDD真的能够促生出高品质软件?结对编程是代码评审的有效替代抑或只是增加了商议沟通代价?我想说,虽然缺乏证据判断这些论调的谬处,但有两条常用的法则能够帮助我们选择好的实践,同时,提升我们所提供软件的价值:划小开发周期以及提升反馈效率。Michael Feathers给出了以下观点:我认为,我们最终还是得倚重开发者的能力,这才是个更重要的考量因素,而非选择哪门原创 2021-04-04 19:05:02 · 62 阅读 · 0 评论 -
了解WBS
WBS(工作分解结构)是Work Breakdown Structure的英文缩写,是项目管理重要的专业术语之一。WBS的基本定义:是一种在项目全范围内分解和定义各层次工作包的方法。WBS最后构成一份层次清晰的结构,可以具体作为组织项目实施的工作依据。无论在项目管理实践中,还是在 PMP,IPMP考试中,工作分解结构(WBS)都是最重要的内容之一。WBS总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。WBS同时也是控制项目变更的重要基础。项目范围是由 WBS原创 2021-03-27 12:04:08 · 110 阅读 · 0 评论 -
什么是分而治之?
从中文的角度来讲,意思是分别治理;利用手段使国家、民族或宗教等产生分裂,然后对其进行控制和统治。从程序猿的角度来讲,所谓“分而治之” 就是把一个复杂的算法问题按一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的解,把各部分的解组成整个问题的解,这种朴素的思想来源于人们生活与工作的经验,也完全适合于技术领域。诸如软件的体系结构设计、模块化设计都是分而治之的具体表现。...原创 2021-03-27 12:03:40 · 88 阅读 · 0 评论 -
为什么软件开发周期总是预估的2~3倍?
答:1.构造软件框架时做的东西没有也无法全量覆盖 业务需求、技术难点 等,导致与实际落地产品 差距甚大。2.需求理解有差异,用户表达的是这样的,而程序员的理解是这样的,且客户需求不定,增加需求,组织协调不畅。3.项目经理没有处理好任务的时间分配。有的任务分配时间过长,浪费了时间,有的任务分配时间过短,没时间去完成。4. 某些独立的任务一致性要求高,无法增添人员并行加速,因为有些任务对于思考的连贯性很强,如果强行加派人手,只会 频繁中断。5. 开发人员对实现目标的可能出现的问题,估计不足,往往会低估问原创 2021-03-27 12:02:47 · 69 阅读 · 0 评论 -
2021-03-21
目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危险病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性。医院对患者监护系统的基本要求是随时接受每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以及形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。答:从文体陈述可知,本系统的数据源点是“病人”和原创 2021-03-21 21:38:52 · 82 阅读 · 0 评论 -
软件工程方法论对我们软件开发有多大用处?谈谈你的看法?
软件工程方法学包含3个要素:方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,回等“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。我的看法我认为软件工程方法论在整个软件开发中起至关重要的作用,它相当于软件开发的核心。软件工程方法论包含前人开发软件的经验,掌握方法,能够少走弯路、错路,能够指导我们更好地、高效地开发软件。因此我们在使用软件工程方法论时可以让我们掌握最完善的方法原创 2021-03-19 15:43:36 · 123 阅读 · 0 评论