软件工程
学习记录
地中有海
心田似海,纳百川方见容人。
展开
-
浅谈决策树与决策表
前言在程序设计过程中,经常会出现多层逻辑控制的嵌套,而这样的嵌套关系往往会导致我们不能直观的看出程序的逻辑关系,这会导致在测试过程中比较容易出现遗漏。因此我们需要引入决策表、决策树,其中决策表就是设计逻辑控制时十分重要的一个工具。决策表先看看定义(虽然并且没多少人能一眼看懂),但我还是决定先列在这里,等你阅读了后面例子之后就会明白。 概念:决策表是分析和表达多逻辑条件下执行不同操作的工具。其次我们来看看决策表的构成: 条件桩——列出问题的所有条件条件项——针对条件桩给出的条件列出所有可能的取转载 2021-04-26 21:52:40 · 3720 阅读 · 0 评论 -
软件开发过程回归与回溯之区别
一 回溯法在软件开发中,回溯是一种常用的调试方法,当调试小程序时这种方法是非常有效的,具体做法是,从发现症状的地方开始,人工沿程序的控制流往回追踪分析源程序代码,直到找出错误原因为止.随着程序规模的扩大,应该回溯的路径数目也变得越来越大,以至彻底回溯是不可能的.二 回归测试概述在软件开发中,回归特指回归测试,是一种测试方法回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。 自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试是指重复以前的全部或部转载 2021-04-26 21:16:44 · 1666 阅读 · 0 评论 -
灵活的软件测试模型-H模型
模型概述相对于V模型和W模型,H模型将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。H模型如图所示:这个示意图仅仅演示了在整个生产周期中某个层次上的一次测试“微循环”。图中标注的其他流程可以是任意的开发流程。H模型强调测试的独立性和灵活性,在H模型中,软件测试活动完全独立,它贯穿于整个软件产品的生命周期,与其他流程并行进行.当软件测试人员认为测试准备完成,即某个测试点准备就绪时,就可以从测试准备阶段进入到测试执行阶段...原创 2021-04-25 21:50:20 · 1668 阅读 · 0 评论 -
浅谈软件测试模型-W模型
模型概述为了克服V模型的缺点,W模型增加了软件开发各阶段中同步进行的验证和确认活动。如图所示,由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。W模型特点测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等开发输出的文档同样要测试, 也就是说,测试与开发是同步进行的。从这个角度来说,一个完整合格的测试人员对软件各方面把握程度应该比开发人员更高,一个测试人员要能胜任软件研究任何一个岗位。**W模型有利于尽早地全面的发现问题。**例如,需求分析完成原创 2021-04-25 21:39:24 · 3055 阅读 · 0 评论 -
浅谈软件测试模型-v模型
模型概念RAD(快速应用开发)模型是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件测试的V模型。阶段步骤V模型大体可以划分为以下几个不同的阶段步骤:客户需求分析、软件需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。对应关系一般来讲:单元测试所对应的是详细设计环节,也就是说,单元测试的测试用例是和详细设计一起出现的,在研发人员做详细设计的时候,相应的测试人员也就把测试用例写了出来;集成测试对应概要设计,在做模块功能分析及模块接口,数据传输方法的原创 2021-04-25 21:27:45 · 2588 阅读 · 0 评论 -
Java的反射机制
Java的反射机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键。Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。有时候我们说某个语言具有很强的动态性,有时候我们会原创 2021-04-11 14:28:31 · 92 阅读 · 0 评论 -
浅谈形式化方法
形式化方法已经较广泛应用于分布式系统,世界重要的软件公司、互联网公司都跟进了,例如Amazon,微软,BAT,IBM,AMD,NVIDIA,Intel等1.形式化方法软件工程中的形式化方法就是通过严格的符号系统和数学模型来描述和验证一个目标软件系统的行为和特性,包括需求规格、设计和实现等。形式化方法所使用的是严格的数学语言,其语法和语义都是无二义的、精确的。2.主要研究内容形式化方法的研究主要集中在形式规约(FormalSpecification)和建立在形式规约基础上的形式验证(FormalVer原创 2021-04-03 11:30:22 · 1338 阅读 · 0 评论 -
为什么软件开发方法论让你觉得糟糕Why Software Development Methodologies Suck
为什么软件开发方法论让你觉得糟糕阅读原文:https://continuousdelivery.com/2012/08/why-software-development-methodologies-suck/阅读收获:1.划小开发周期以及提升反馈效率。2.组建一个多功能型的团队3.建立一个学习能力和适应能力都很好的组织。4.进行软件开发还是得倚重开发者的能力5.总之,不管使用什么样的方法,都得紧紧抓住划小开发周期以及提升反馈效率这两大法宝....原创 2021-04-01 23:43:09 · 90 阅读 · 1 评论 -
WBS的相关概念
WBS的相关概念工作分解结构(简称WBS)跟因数分解是一个原理,就是把一个项目,按一定的原则分解,项目分解成任务,任务再分解成一项项工作,再把一项项工作分配到每个人的日常活动中,直到分解不下去为止。即:项目→任务→工作→日常活动。工作分解结构以可交付成果为导向,对项目要素进行的分组,它归纳和定义了项目的整个工作范围,每下降一层代表对项目工作的更详细定义。WBS总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。一、分解原则1、将主体目标逐步细化分解,最底层原创 2021-03-28 23:53:13 · 894 阅读 · 1 评论 -
什么是分而治之?
什么是分而治之?分而治之又称分治术,是有效算法设计中普遍采用的一种技术。所谓“分而治之” 就是把一个复杂的问题按一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的解,把各部分的解组成整个问题的解,这种朴素的思想来源于人们生活与工作的经验,也完全适合于技术领域。诸如软件的体系结构设计、模块化设计都是分而治之的具体表现。在进行大型软件开发的过程中,面对着复杂的问题,我们往往很难去依靠头脑就能得出所有问题的解决方法,所以通常采用分治的思想去对复杂的问题进行分解,以我个人的理解,分而治原创 2021-03-28 23:42:51 · 223 阅读 · 0 评论 -
Quora精选:为什么软件开发周期总是预期的2~3倍?
Quora精选:为什么软件开发周期总是预期的2~3倍?参考链接 https://www.sohu.com/a/132411358_355123仔细看完了这篇文章,让我明白,想象总比现实美好,很多人在做事情的时候,十分大胆,总想把事情往最好的方向去考虑,而软件开发的周期并不能十分准确预测出来,预测的周期与实际的周期是存在偏差的,这就考验了一个分析人员的经验与功底软件开发周期预估就是根据软件的开发内容、开发工具、开发人员等因素对需求调研、程序设计、编码、测试等整个开发过程所花费的时间做的预测。正确的估算软原创 2021-03-28 23:31:53 · 135 阅读 · 0 评论 -
目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危害病人的病情变化,还可能会延误抢救时机.某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统
目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危害病人的病情变化,还可能会延误抢救时机.某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性.医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统打印某个指定的病人的病情报告.试画出数据流图技术可行性:系统实现相对来说较为原创 2021-03-21 23:10:02 · 5305 阅读 · 0 评论 -
软件工程方法论对我们开发软件有多大的用处?谈谈你的看法.
软件工程方法论对我们开发软件有多大的用处?谈谈你的看法.软件工程包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科.软件工程方法论是软件生命周期全过程中使用的一整套技术方法的集合,也是在软件开发的过程中必须遵循的普遍行为和准则.软件工程方法学包含的三个要素分别为方法,工具和过程.方法是完成软件开发的各项任务的技术方法,工具是为运用方法而提供的自动的或半自动的软件工程支撑环境,过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤.软件工程方法论具有如下用原创 2021-03-21 14:12:21 · 70 阅读 · 0 评论 -
瀑布模型和敏捷开发的区别与特点
漫画解读软件开发模式变迁史-观后感对瀑布模型与敏捷开发的区别有了更加的深入地理解.瀑布模型是线性的,封闭不透明的开发模式,在开发过程中客户只能通过文档来了解产品,最大的弊端是下游工作的开展严重依赖于上游的交付完成情况,造成了严重的人力资源浪费.敏捷开发以用户需求为核心,采用迭代、循序渐进的方法进行软件开发,在软件项目构建初期会切分成很多独立小项目来进行开发,所有的人都要同时的工作(不再依赖于上游),最大的特色是客户会参与到软件开发的过程中,能够及时响应客户的需求,当然这样也伴随着混乱的产生.由此也引出原创 2021-03-21 11:43:35 · 2218 阅读 · 0 评论 -
软件工程是不是教会不怎么会写程序的人开发软件?你的观点?
我的观点原创 2021-03-14 10:23:59 · 81 阅读 · 0 评论 -
对软件工程的希望及目标
学习希望我希望通过软件工程这门课程,能够让我比较熟练的应用工程化的方法来开发和维护软件,并能够在这门课程,多做一些软件开发的项目,将理论应用于实践中.个人目标通过这门课堂的学习,能够掌握好软件开发的知识,并考取软考中级软件设计师证书,虽然并不一定能够通过,但还是想试一试....原创 2021-03-13 12:45:57 · 122 阅读 · 0 评论