📝 软件工程教程
90篇技术文档📅  最后修改于: 2021-01-10 02:59:50        🧑  作者: Mango
软件可靠性软件可靠性意味着操作的可靠性。它被描述为系统或组件在静态条件下特定时期内执行其所需功能的能力。软件可靠性也定义为软件系统在给定环境中针对预定数量的输入情况完成其指定任务的概率,假设硬件和输入没有错误。软件可靠性是软件质量的重要纽带,它由功能,可用性,性能,可维护性,功能,可安装性,可维护性和文档组成。由于软件的复杂度很高,因此很难实现软件的可靠性。尽管任何包含软件的具有高度复杂性的系统都...
📅  最后修改于: 2021-01-10 03:00:45        🧑  作者: Mango
软件故障机制软件故障可以归类为:瞬态故障:这些故障仅在特定输入下发生。永久故障:此故障出现在所有输入上。可恢复的故障:无需运算符的帮助即可恢复系统。不可恢复的故障:系统只能在运算符的帮助下恢复。非损坏故障:故障不会损坏系统状态或数据。损坏故障:损坏系统状态或数据。软件故障可能是由于软件应满足的错误,歧义,疏忽或对本应满足的规范的误解,编写代码时的粗心或能力不足,测试不足,软件使用不正确或意外或其他...
📅  最后修改于: 2021-01-10 03:01:38        🧑  作者: Mango
软件可靠性测量技术可靠性指标用于定量表示软件产品的可靠性。使用哪个参数的选项取决于它所应用的系统类型以及应用程序域的要求。衡量软件的可靠性是一个严重的问题,因为我们对软件的性质没有很好的了解。很难找到一种合适的方法来测量软件可靠性以及与软件可靠性有关的大多数方面。甚至软件估算也没有统一的定义。如果我们不能直接测量可靠性,那么可以测量一些反映可靠性相关特征的东西。当前的软件可靠性测量方法可以分为四类...
📅  最后修改于: 2021-01-10 03:02:34        🧑  作者: Mango
可靠性指标可靠性指标用于定量表示软件产品的可靠性。使用哪个度量标准的选项取决于其适用的系统类型以及应用程序域的要求。可以用来量化软件产品可靠性的一些可靠性指标如下:1.平均故障时间(MTTF)MTTF被描述为两次连续故障之间的时间间隔。MTTF为200意味着每200次单位可能发生一次故障。时间单位完全取决于系统,甚至可以在交易数量中说明。MTTF对于具有大量事务的系统是一致的。例如,它适用于设计人...
📅  最后修改于: 2021-01-10 03:03:27        🧑  作者: Mango
软件容错软件容错能力是指软件能够根据规范从运行软件的系统中的软件或硬件中正在发生或已经发生的故障中检测并恢复故障的能力。软件容错是构建从嵌入式系统到数据仓库系统的下一代高可用性和可靠计算系统的必要组件。为了充分理解软件容错能力,重要的是要了解软件容错能力应该解决的问题的性质。软件故障都是设计故障。软件制造,即软件的复制,被认为是完美的。单纯设计故障的问题根源与几乎所有其他系统都需要容错特性是完全不...
📅  最后修改于: 2021-01-10 03:04:23        🧑  作者: Mango
软件可靠性模型软件可靠性模型指示随机过程的形式,该过程定义了软件故障随时间变化的行为。随着人们试图了解软件故障原因和方式以及试图量化软件可靠性的特征,软件可靠性模型已经出现。自1970年代初以来,已经建立了200多个模型,但是如何量化软件的可靠性仍然悬而未决。没有单独的模型可以在所有情况下使用。没有任何模型是完整的,甚至没有代表性。大多数软件模型包含以下部分:假设条件因素包含元素可靠性的数学函数。...
📅  最后修改于: 2021-01-10 03:05:28        🧑  作者: Mango
杰林斯基和莫兰达模型Jelinski-Moranda(JM)模型也是一个马尔可夫过程模型,已严重影响了许多后来的模型,这些模型实际上是对该简单模型的修改。JM模型的特征以下是JM模型的特征:是二项式模型它肯定是最早的,当然也是最著名的黑匣子模型之一。JM模型始终会产生过分乐观的可靠性预测。JM模型遵循完善的调试步骤,即,使用确定的简单模型消除检测到的故障。在第i个故障间隔内J?M模型的恒定软件故障...
📅  最后修改于: 2021-01-10 03:06:29        🧑  作者: Mango
基本执行时间模型此模型由JD Musa于1979年建立,它基于执行时间。基本执行模型是最受欢迎和最常用的可靠性增长模型,主要是因为:它是实用,简单且易于理解的。它的参数显然与物理世界有关。它可以用于准确的可靠性预测。基本执行模型最初使用执行时间来确定故障行为。执行时间以后可以转换为日历时间。失效行为是非均匀的Poisson过程,这意味着相关的概率分布是Poisson其特性随时间变化的过程。它等效于...
📅  最后修改于: 2021-01-10 03:07:24        🧑  作者: Mango
Goel-Okumoto(GO)模型Goel和Okumoto于1979年开发的模型基于以下假设:在时间t之前经历的故障数量遵循带有平均值函数μ(t)的泊松分布。该平均值方法具有边界条件μ(0)= 0且Limt→∞μ(t)= N <∞。在(t,t +Δt)中出现Δt→0的软件故障的数量与未检测到的错误的预期数量N-μ(t)成正比,比例常数为∅。对于时间t1<t2<···<tn的任何有限集合,在每个不...
📅  最后修改于: 2021-01-10 03:08:17        🧑  作者: Mango
Musa-Okumoto对数模型失效强度为:属于平均值函数这是Musa-Okumoto对数模型的功能形式:像Musa的基本执行时间模型一样,Musa和Okumoto的“对数泊松执行时间模型”基于执行时间中测得的故障数据。假设条件在时间τ= 0时,未观察到任何故障,即P(M(0)= 0)= 1。故障强度随着观察到的预期故障数量呈指数下降,即,其中β0β1是初始失效强度和β0-1配成失败强度衰减参数。...
📅  最后修改于: 2021-01-10 03:09:11        🧑  作者: Mango
软件维护软件维护是软件开发生命周期的一部分。其主要目标是在交付后修改和更新软件应用程序,以纠正错误并提高性能。软件是现实世界的模型。当现实世界发生变化时,需要对软件进行尽可能的更改。软件维护是一项包容性活动,其中包括错误更正,功能增强,过时功能删除和优化。需要维护需要进行软件维护:更正错误用户需求随时间变化更改硬件/软件要求提高系统效率优化代码以使其运行更快修改组件减少任何不必要的副作用。因此需要...
📅  最后修改于: 2021-01-10 03:10:05        🧑  作者: Mango
软件维护问题的原因缺乏可追溯性代码很少可以追溯到需求和设计规范。这使程序员很难检测并纠正影响客户运营的关键缺陷。像侦探一样,程序员在程序中仔细寻找线索。即使作为开发项目的一部分,也不总是生成生命周期文档。缺少代码注释大多数软件系统代码缺少足够的注释。在某些情况下,较少的评论可能无济于事。旧版旧系统在全球大多数国家/地区中,提供国家关键行业骨干网(例如电信,医疗,运输公用事业服务)的遗留系统在设计时...
📅  最后修改于: 2021-01-10 03:13:33        🧑  作者: Mango
软件工程学院能力成熟度模型(SEICMM)能力成熟度模型(CMM)是用于开发和完善组织的软件开发过程的过程。该模型定义了一个日益组织化和持续成熟的过程的五级演化阶段。CMM由软件工程学院(SEI)开发和推广,SEI是由美国国防部(DOD)推动的研发中心。能力成熟度模型用作衡量组织软件过程成熟度的基准。SEICMM方法SEICMM有两种方法:能力评估:能力评估提供了一种评估组织的软件过程能力的方法。...
📅  最后修改于: 2021-01-10 03:14:27        🧑  作者: Mango
软件维护成本因素软件维护涉及两种成本因素。这些是非技术因素技术因素非技术因素1.应用领域如果定义了程序的应用程序并很好地理解了程序的应用程序,则系统要求可能是确定的,并且由于变化的需求而导致的维护工作将降至最低。如果表单是全新的,则随着用户获得系统经验,很可能会经常修改初始条件。2.员工稳定对于程序的原始编写者来说,很容易理解和更改应用程序,而不是必须通过研究报告和代码清单来理解程序的其他人。如果...
📅  最后修改于: 2021-01-10 03:15:23        🧑  作者: Mango
软件测试教程软件测试教程提供了软件测试的基本和高级概念。我们的软件测试教程专为初学者和专业人士设计。软件测试是广泛使用的技术,因为在部署之前必须测试每个软件。我们的软件测试教程包括软件测试的所有主题,例如黑盒测试,白盒测试,可视盒测试和灰盒测试等方法。诸如单元测试,集成测试,回归测试,功能测试等级别。系统测试,验收测试,Alpha测试,Beta测试,非功能测试,安全测试,可移植性测试。什么是软件测...