❶ 软件工程为什么要进行风险分析
风险分析的目的是了解风险,认识风险,并管理风险,最好是能以最小的投入获得最大的安全保证.
❷ 什么是风险分析SIL验算软件求推荐
什么是风险 风险srl验算软件 求推荐的话 我给我同学打个电话 然后发给你
❸ 软件工程三种演化模型的相同点和不同点
瀑布模型,演化模型(如增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。
瀑布模型(waterfall model)是1970年有W.Royce提出的,它给出了软件生存周期活动的固定顺序,上一阶段的活动完成后向下一阶段过渡,最终得到所开发的软件产品。瀑布模型如下图所示,有时也称为软件生存周期模型。
瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是:
(1)接受上一阶段的结果作为本阶段活动的输入。
(2)依据上一阶段活动的结果实施本阶段应完成的活动。
(3)对本阶段的活动进行评审。
(4)将本阶段活动的结果作为输出,传递给下一阶段。
瀑布模型是最早出现的也是应用最广泛的过程模型,对确保软件开发的顺利进行、提高软件项目的质量和开发效率起到重要作用。
在大量的实践过程中,瀑布模型也逐渐暴露出它的不足。首先,客户常常难以清楚地描述所有的要求,而且在开发过程中,用户的需求也常常会有所变化,使得不少软件的需求存在着不确定性;在某个活动中发现的错误常常是由前一阶段活动的错误引起的,为了改正这一错误必须回到前一阶段,这就导致了瀑布的倒流,也就是说,实际的软件开发很少能按瀑布模型的顺序没有回流地顺流而下。其次,瀑布模型使得客户在测试完成以后才能看到真正可运行的软件,此时,如果发现不满足客户需求的问题(由于需求不确定性),那么修改软件的代价是巨大的。
不是任何软件都可采用瀑布模型的,瀑布模型适合于结构化方法,也就是面向过程的软件开发方法。软件项目或产品选择瀑布模型必须满足下列条件:在开发时间内需求没有或很少变化;分析设计人员应对应用领域很熟悉;低风险项目(对目标、环境很熟悉);用户使用环境很稳定;用户除提出需求以外,很少参与开发工作。
演化模型
演化模型主要针对事先不能完整定义需求的软件开发,其开发过程一般是首先开发核心系统,当核心系统投入运行后,软件开发人员根据用户的反馈,实施开发的迭代过程,每一迭代过程均由需求、设计、编码、测试、集成等阶段组成,直到软件开发结束。演化模型在一定程度上减少了软件开发活动的盲目性。
螺旋模型:
它是在瀑布模型和演化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型。沿螺旋模型顺时针方向,依次表达了四个方面的活动,制定计划、风险分析、实施工程、客户评估。
喷泉模型
它体现了软件创建所固有的迭代和无间隙特征,喷泉模型主要用于支持面向对象开发过程。
增量模型内容:
在设计了软件系统整体体系结构之后,首先完整的开发系统的一个初始子集,继之,根据这一子集,建造一个更加精细的版本,如此不断的进行系统的增量开发。
瀑布模型、演化模型、螺旋模型之间的联系:相同点是这三个模型都分为多个阶段,而瀑布模型一次完成软件,演化模型分为多次完成,每次迭代完成软件的一个部分,螺旋模型也分为多次完成,每次完成软件的一个新原型,并考虑风险分析。
演化模型和增量模型之间的区别
演化模型首先开发核心系统,每次迭代为系统增加一个子集,整个系统是增量开发和增量提交,增量模型首先完整的开发系统的一个初始子集,然后不断的建造更精细的版本。
❹ 软件开发模型有哪几种各有什么特点
软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。软件工程的主要环节包括人员管理、项目管理、需求分析、系统设计、程序设计、测试、维护等,如图所示。软件开发模型是对软件过程的建模,即用一定的流程将各个环节连接起来,并可用规范的方式操作全过程,好比工厂的生产线。
8.混合模型(hybrid model)过程开发模型又叫混合模型(hybrid model),或元模型(meta-model),把几种不同模型组合成一种混合模型,它允许一个项目能沿着最有效的路径发展,这就是过程开发模型(或混合模型)。实际上,一些软件开发单位都是使用几种不同的开发方法组成他们自己的混合模型。各种模型的比较每个软件开发组织应该选择适合于该组织的软件开发模型,并且应该随着当前正在开发的特定产品特性而变化,以减小所选模型的缺点,充分利用其优点,下表列出了几种常见模型的优缺点。各种模型的优点和缺点:模型优点缺点瀑布模型文档驱动系统可能不满足客户的需求快速原型模型关注满足客户需求可能导致系统设计差、效率低,难于维护增量模型开发早期反馈及时,易于维护需要开放式体系结构,可能会设计差、效率低螺旋模型风险驱动风险分析人员需要有经验且经过充分训练
9.RUP模型(迭代模型)
RUP(Rational Unified Process)模型是Rational公司提出的一套开发过程模型,它是一个面向对象软件工程的通用业务流程。它描述了一系列相关的软件工程流程,它们具有相同的结构,即相同的流程构架。RUP 为在开发组织中分配任务和职责提供了一种规范方法,其目标是确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件。RUP具有两个轴,一个轴是时间轴,这是动态的。另一个轴是工作流轴,这是静态的。在时间轴上,RUP划分了四个阶段:初始阶段、细化阶段、构造阶段和发布阶段。每个阶段都使用了迭代的概念。在工作流轴上,RUP设计了六个核心工作流程和三个核心支撑工作流程,核心工作流轴包括:业务建模工作流、需求工作流、分析设计工作流、实现工作流、测试工作流和发布工作流。核心支撑工作流包括:环境工作流、项目管理工作流和配置与变更管理工作流。RUP 汇集现代软件开发中多方面的最佳经验,并为适应各种项目及组织的需要提供了灵活的形式。作为一个商业模型,它具有非常详细的过程指导和模板。但是同样由于该模型比较复杂,因此在模型的掌握上需要花费比较大的成本。尤其对项目管理者提出了比较高的要求。它具有如下特点:(1)增量迭代,每次迭代都遵循瀑布模型能够在前期控制好和解决风险;(2)模型的复杂化,需要项目管理者具有较强的管理能力。
10.IPD模型
IPD(Integrated Proct Development)流程是由IBM提出来的一套集成产品开发流程,非常适合于复杂的大型开发项目,尤其涉及到软硬件结合的项目。
IPD从整个产品角度出发,流程综合考虑了从系统工程、研发(硬件、软件、结构工业设计、测试、资料开发等)、制造、财务到市场、采购、技术支援等所有流程。是一个端到端的流程。在IPD流程中总共划分了六个阶段(概念阶段、计划阶段、开发阶段、验证阶段、发布阶段和生命周期阶段),四个个决策评审点(概念阶段决策评审点、计划阶段决策评审点、可获得性决策评审点和生命周期终止决策评审点)以及六个技术评审点。
IPD流程是一个阶段性模型,具有瀑布模型的影子。该模型通过使用全面而又复杂的流程来把一个庞大而又复杂的系统进行分解并降低风险。一定程度上,该模型是通过流程成本来提高整个产品的质量并获得市场的占有。由于该流程没有定义如何进行流程回退的机制,因此对于需求经常变动的项目该流程就显得不大适合了。并且对于一些小的项目,也不是非常适合使用该流程。
❺ 什么是风险分析,它由哪几个主要部分构成及相互关系是什么
风险分析实际上就是贯穿在软件工程过程中的一系列风险管理步骤,其中包括:风险识别、风险估计、风险管理策略、风险解决和风险监督等。对工程建设项目投资决策或企业生产经营决策可能造成的失误和带来的经济损失所进行的估计。技术经济分析的方法之一。风险通常是指由于当事者主观上不能控制的一些因素的影响,使得实际结果与当事者的事先估计有较大的背离而带来的经济损失。这些背离产生的原因,可能是当事者对有关因素和未来情况缺乏足够情报而无法作出精确估计,也可能是由于考虑的因素不够全面而造成预期效果与实际效果之间的差异。进行风险分析,有助于确定有关因素的变化对决策的影响程度,有助于确定投资方案或生产经营方案对某一特定因素变动的敏感性。若一种因素在一定范围内发生变化,但对决策没有引起很大影响,则所采取的决策对这种因素是不敏感的;若一个因素的大小稍有变化就会引起投资决策的较大变动,则决策对这一因素便是高度敏感的。了解在给定条件下的风险对这些因素的敏感程度,有助于正确地作出决策。风险分析是找出行动方案的不确定性(主观上无法控制)因素,分析其环境状况和对方案的敏感程度;估计有关数据,包括行动方案的费用,在不同情况下得到的收益以及不确定性因素各种机遇的概率,计算各种风险情况下的经济效果;作出正确判断,等等。进行风险分析时需要考虑的因素很多,而且多变,主要有:①技术经济分析中采用的数据来源和精确程度。②企业的类型及其稳定性。如采矿企业因地质条件的变化通常要承担较大的风险。③企业的厂房和设备的类型。如有些建筑物和设备有较明确的经济寿命和转卖价值,有的经济寿命不明确,也无多大转卖价值。这时对前一类企业投资的风险就小于后一类企业。④分析阶段的长短。如投资回收期的延长将会增大投资的风险,等等。
❻ 总结归纳主要的软件工程模型,并任意选定其中的一种过程模式,介绍其特点及你对该模型的理解。
主要的软件过程模型有:瀑布模型,演化模型(如增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。
瀑布模型(waterfall model)是1970年有W.Royce提出的,它给出了软件生存周期活动的固定顺序,上一阶段的活动完成后向下一阶段过渡,最终得到所开发的软件产品。瀑布模型如下图所示,有时也称为软件生存周期模型。
瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是:
(1)接受上一阶段的结果作为本阶段活动的输入。
(2)依据上一阶段活动的结果实施本阶段应完成的活动。
(3)对本阶段的活动进行评审。
(4)将本阶段活动的结果作为输出,传递给下一阶段。
瀑布模型是最早出现的也是应用最广泛的过程模型,对确保软件开发的顺利进行、提高软件项目的质量和开发效率起到重要作用。
在大量的实践过程中,瀑布模型也逐渐暴露出它的不足。首先,客户常常难以清楚地描述所有的要求,而且在开发过程中,用户的需求也常常会有所变化,使得不少软件的需求存在着不确定性;在某个活动中发现的错误常常是由前一阶段活动的错误引起的,为了改正这一错误必须回到前一阶段,这就导致了瀑布的倒流,也就是说,实际的软件开发很少能按瀑布模型的顺序没有回流地顺流而下。其次,瀑布模型使得客户在测试完成以后才能看到真正可运行的软件,此时,如果发现不满足客户需求的问题(由于需求不确定性),那么修改软件的代价是巨大的。
不是任何软件都可采用瀑布模型的,瀑布模型适合于结构化方法,也就是面向过程的软件开发方法。软件项目或产品选择瀑布模型必须满足下列条件:在开发时间内需求没有或很少变化;分析设计人员应对应用领域很熟悉;低风险项目(对目标、环境很熟悉);用户使用环境很稳定;用户除提出需求以外,很少参与开发工作。
❼ 请总结各种SDLC模型的特点、适用哪些类型的应用软件开发。
1.瀑布模型:开发模型呈线性,所以当开发成果沿未经过测试时,用户无法看到软件的效果。
2.循环模型:为了描述软件开发过程中可能的回溯,尤其是维护阶段往往要经历上述各个阶段,采用循环模型描述。
3.增量模型:增量模型是一种非整体开发的模型。
该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。
增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件。
4.螺旋模型:将瀑布模型和增量模型结合起来,并加入了风险分析。
5.喷泉模型:开发过程有分析、系统设计、软件设计和实现4个阶段。各阶段相互重叠,它反映了软件过程并行性的特点。以分析为基础,资源消耗成塔型。强调增量开发,整个过程是一个迭代的逐步提炼的过程。
6.智能模型:也称为基于知识的软件开发模型,是知识工程与软件工程相结合的软件开发模型。其主要特点是必须建立知识库,并将模型本身、软件工程知识、特定领域知识放入知识库。具体描述可以使用形式功能规约,也可以使用知识处理语言描述等。