【软考点点】软件开发模型

简介:
    软件开发模型是软考上午题中必考的一个知识点。给出一定的条件,让我们判断属于哪一种开发模型。
    典型的软件过程模型有瀑布模型、增量模型、演化模型(原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式化方法模型。下面我们一一来看看:
--------------------------------------知识点积累------------------------------------------
   【瀑布模型】
    1.定义:将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行与维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水逐级下落。
    2.适用于:以文档作为驱动、适合于软件需求很明确的软件项目。
    3.优点:容易理解,管理成本低;强调开发的阶段性早期计划及需求调查和产品测试。
    4.不足:客户必须能够完整、正确、清晰地表达出他们的需要;需求或设计的错误往往是在项目后期才被发现,对于项目风险控制能力较弱,经常延期。
    5.关键点:需求明确 
   【增量模型】
    1.定义:将需求分段为一系列增量产品,每一增量可以分别开发。根据第一个增量,可以快速开发出核心产品
    2.适用于:软件体系结构开放,加入新构件过程简单。
    3.优点:第一个可交付版本所需要的时间和成本很少;所承担的风险不大;减少用户需求的变更。
    4.不足:如果没有对变更要求进行规划,那么会导致后来增量的不稳定;如果需求不稳定完整,那么会导致重新开发;管理发生的成本、进度和配置的复杂性会超出组织的能力。
   【原型模型】
    1.定义:快速建立起来的可以在计算机上运行的程序,或仅仅是一个演示界面。
    2.适用于:需求不够明确的项目。
    3.优点:能快速、低成本地构建原型。
    4.不足:必须要求具有技能高水平的原型化人员。
    5.关键词:需求不够明确
   【螺旋模型】
    1.定义:瀑布与演化模型的结合,加入风险分析。四象限工作步骤:制定计划、风险分析、实施工程、用户评估。
    2.适用于:庞大、复杂并且具有高风险的系统。支持需求的动态变化
    3.优点:提高软件的适应能力;降低了软件开发的风险。
    4.不足:过多的迭代次数增加了开发成本,延迟了提交时间。
    5.关键词:风险
   【喷泉模型】
    1.定义:以用户需求为动力,以对象作为驱动的模型。具有迭代性和无间隙性
    2.适用于:面向对象的开发方法
    3.优点:各阶段没有明显的界线,可以同步开发,提高了软件开发效率,节省了时间。
    4.不足:各开发阶段是重叠的,不利于项目的管理;严格要求文档,使得审核的难度加大。
   【基于构件的开发模型】
    1.定义:利用预先包装的构件来构造应用系统。
    2.适用于:需要一定的构件模型支持的软件项目。
    3.优点:构件组装模型导致软件的复用,提高了开发效率;允许多个项目同时开发,降低了费用,提高了可维护性。
    4.不足:构件的引入具有较大的风险;过分依赖于构件,构件的质量影响产品的质量;需要精干的、有经验的分析人员和开发人员,客户的满意度低。
   【形式化方法模型】
    1.定义:建立在严格数学基础上的一种开发方法。
    2.适用于:需要生成计算机软件形式化的数学规格说明。
    3.优点:易于发现需求的歧义性、不完整性和不一致性;易于对分析模型、设计模型和程序进行验证。
    4.不足:需要通过严密的数学演算。
-----------------------------------------真题再现----------------------------------------
1.某项目组拟开发一个大规模系统,且具备了相关领域及类似规模系统的开发经验。下列过程模型中,()最适合开发此项目。(2010年下半年)
A.原型模型  B.瀑布模型  C.V模型  D.螺旋模型
2.为了有效地捕获系统需求,应采用()(2011年上半年)
A.瀑布模型  B.V模型  C.原型模型  D.螺旋模型
3.若全面采用新技术开发一个大学记账系统,以替换原有系统,则宜选择采用()进行开发。(2011年下半年)
A.瀑布模型  B.演化模型  C.螺旋模型  D.原型模型
4.某开发小组欲开发一个规模较大、需求较明确的项目。开发小组对项目领域熟悉且该项目与小组开发的某一项目相似,则适宜采用()开发过程模型。(2012年下半年)
A.瀑布模型  B.演化模型  C.螺旋模型  D.喷泉模型
5.()开发过程模型最不适用于开发初期对软件需求缺乏准确全面认识的情况。(2013年下半年)
A.瀑布模型  B.演化模型  C.螺旋模型  D.增量模型
6.某公司计划开发一产品,技术含量很高,与客户相关的风险也很多,则最适于采用()开发过程模型。(2015年上半年)
A.瀑布模型  B.原型模型  C.增量模型   D.螺旋模型
----------------------------------------- 软考点点 ----------------------------------------
    前期在做这类题的时候,完全是按自己的主观理解,近乎于凭感觉,错的几率很大。
     做了两套题后,发现这是一道固定的题,只要自己把每个模型都总结总结,看看它们具体有什么各自的特点,应该也不是问题。可结果是,看完后,做题的正确率依然很低。
    到后来,我们小组建议抓住每个模型的关键词,比如瀑布模型中的‘需求明确’,原型模型中的‘需求不明确’和螺旋模型中的‘风险’......
    这样一来,根据题目的条件,就很容易判断出是何种软件开发模型。很多题目说法不一样,其实关键在于它仍然是需求明确的,所以一定是瀑布模型。之前也是因为没有抓住模型的关键之处,才会每次都做错的。
     相信有了这个着手点之后,即抓关键,正确率一定会是百分之百。
目录
相关文章
|
Linux
CentOS 安装rz和sz命令
CentOS 安装rz和sz命令
350 0
|
3月前
|
Ubuntu Linux 云计算
CentOS与Ubuntu:Linux系统的双璧
选择Ubuntu还是CentOS,取决于用户的具体需求,如是否需要图形化界面、对稳定性的要求、软件包管理的偏好以及对商业支持的需求等。两者都是优秀的Linux发行版,只是在设计理念和目标用户群体上有所不同。#深度好文计划#
|
6月前
|
人工智能 自然语言处理 算法
算法及模型合规:刻不容缓的企业行动指南
随着AI技术迅猛发展,算法与模型成为企业数字化转型的核心。然而,国家密集出台多项法规,如《人工智能生成合成内容标识办法》等,并开展“清朗·整治AI技术滥用”专项行动,标志着AI监管进入严格阶段。算法备案从“可选项”变为“必选项”,未合规可能面临罚款甚至刑事责任。同时,多地提供备案奖励政策,合规既是规避风险的需要,也是把握政策红利和市场信任的机遇。企业需系统规划合规工作,从被动应对转向主动引领,以适应AI时代的挑战与机遇。
|
Linux 网络安全 数据安全/隐私保护
|
存储 JavaScript 前端开发
学习vuex和localstorage . cookie的作用与区别
探讨Vuex、LocalStorage与Cookie:三种关键技术在现代Web开发中的角色。Vuex作为Vue的状态管理工具,提供集中、响应式且可预测的状态变更机制,适用于复杂应用。LocalStorage为客户端提供大容量、持久化的数据存储方案,适合保存用户偏好等静态信息。Cookie则擅长会话跟踪与认证管理,数据虽小却能在客户端与服务器间传递。每种技术针对不同场景各有优势,合理选用是关键。
|
API 开发者 Python
API接口:原理、实现及应用
本文详细介绍了API接口在现代软件开发中的重要性及其工作原理。API接口作为应用程序间通信的桥梁,通过预定义的方法和协议实现数据和服务的共享。文章首先解释了API接口的概念,接着通过Python Flask框架示例展示了API的设计与实现过程,并强调了安全性的重要性。最后,本文还讨论了API接口在Web服务和移动应用程序等领域的广泛应用场景。
|
存储 安全 Java
基于springboot的新闻资讯系统的设计与实现
基于springboot的新闻资讯系统的设计与实现
|
缓存 前端开发 JavaScript
React-Query:解锁你的应用程序潜力,轻松解决接口请求难题!
许多状态管理库,比如`redux`,可以很流畅的管理页面的状态,也有处理副作用的能力,但往往不能很好的处理服务端的状态。
446 1
React-Query:解锁你的应用程序潜力,轻松解决接口请求难题!
|
Arthas Java 测试技术
阿里巴巴开源的15个顶级Java项目
上个周末抽时间整理了一些阿里开源的一些 Java 开源项目,希望对大家有帮助!这篇文章收录的所有开源项目都是还在继续维护并且可以使用的。