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

简介: <span style="font-family:楷体; font-family:楷体; font-size:19px; line-height:27px; widows:auto">    软件开发模型是软考上午题中必考的一个知识点。给出一定的条件,让我们判断属于哪一种开发模型。</span> <div style="font-family:楷体; font-size:19px; li
    软件开发模型是软考上午题中必考的一个知识点。给出一定的条件,让我们判断属于哪一种开发模型。
    典型的软件过程模型有瀑布模型、增量模型、演化模型(原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式化方法模型。下面我们一一来看看:
--------------------------------------知识点积累------------------------------------------
   【瀑布模型】
    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.螺旋模型
----------------------------------------- 软考点点 ----------------------------------------
    前期在做这类题的时候,完全是按自己的主观理解,近乎于凭感觉,错的几率很大。
     做了两套题后,发现这是一道固定的题,只要自己把每个模型都总结总结,看看它们具体有什么各自的特点,应该也不是问题。可结果是,看完后,做题的正确率依然很低。
    到后来,我们小组建议抓住每个模型的关键词,比如瀑布模型中的‘需求明确’,原型模型中的‘需求不明确’和螺旋模型中的‘风险’......
    这样一来,根据题目的条件,就很容易判断出是何种软件开发模型。很多题目说法不一样,其实关键在于它仍然是需求明确的,所以一定是瀑布模型。之前也是因为没有抓住模型的关键之处,才会每次都做错的。
     相信有了这个着手点之后,即抓关键,正确率一定会是百分之百。
目录
相关文章
|
存储 Dart 数据库
重识Flutter状态管理 — 探索Flutter中的状态
我遇到过很多没有了解过响应式编程框架的,或者从事后端开发,自己想用Flutter写个app玩玩的朋友,一上来,不管在哪里都用`setState`,我问为啥不用状态管理,大部分都回了一句:啥是状态管理?
|
1月前
|
监控 前端开发 JavaScript
如何开发一套工程项目部管理系统?(附架构图+流程图+代码参考)
工程项目部管理系统通过信息化手段整合进度、资源、人员、财务及风险管理,提升项目执行效率与决策质量。系统涵盖功能设计、业务流程、开发技巧及实现效果,助力企业构建高效、低风险的管理平台,实现项目全流程监控与优化。
|
9月前
|
存储 安全 Linux
全平台免费的在线笔记本(支持markdown、mermaid)
StackEdit是一款基于浏览器的Markdown编辑器,支持跨平台使用,无需安装,可将笔记存储在gitee、github等平台上。其优势包括内容安全免费、多平台同步、离线可用、支持UML图和流程图绘制等。通过简单的步骤即可完成注册、登录和笔记创作,并能轻松实现在线共享。
2274 1
|
9月前
|
算法 网络协议 Python
探秘Win11共享文件夹之Python网络通信算法实现
本文探讨了Win11共享文件夹背后的网络通信算法,重点介绍基于TCP的文件传输机制,并提供Python代码示例。Win11共享文件夹利用SMB协议实现局域网内的文件共享,通过TCP协议确保文件传输的完整性和可靠性。服务器端监听客户端连接请求,接收文件请求并分块发送文件内容;客户端则连接服务器、接收数据并保存为本地文件。文中通过Python代码详细展示了这一过程,帮助读者理解并优化文件共享系统。
|
10月前
|
存储 XML 自然语言处理
信息检索和信息提取的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/331046
提取的意思是 “取出”,检索的意思是 “取回”。信息检索是返回与用户特定查询或兴趣领域相关的信息。而信息提取则更多地是从一组文档或信息中提取一般知识(或关系)。信息提取是获取数据并从中提取结构化信息的标准过程,以便将其用于各种目的,其中一个目的可能是搜索引擎。
311 24
|
10月前
|
分布式计算 自然语言处理 知识图谱
形式化定理证明新突破:SubgoalXL框架让大模型在Isabelle中性能暴涨
【10月更文挑战第22天】该方法通过结合子目标导向的证明策略和专家学习,显著提升了大型语言模型(LLMs)在Isabelle环境中的形式化定理证明能力。SubgoalXL优化了数据效率,从有限的证明数据中提取丰富信息,并充分利用Isabelle的子目标管理功能,显著提高了模型的多步骤推理能力。实验结果显示,SubgoalXL在miniF2F数据集上取得了56.1%的准确率,比之前最佳方法提高了4.9%。这一成果为形式化定理证明领域带来了新的机遇和挑战。
172 3
|
11月前
|
JavaScript
箭头函数与普通函数(function)的区别
箭头函数是ES6引入的新特性,与传统函数相比,它有更简洁的语法,且没有自己的this、arguments、super或new.target绑定,而是继承自外层作用域。箭头函数不适用于构造函数,不能使用new关键字调用。
|
Linux Shell
10-10|linux命令查询 关键字在文本中出现的行数
10-10|linux命令查询 关键字在文本中出现的行数
|
机器学习/深度学习 数据采集 JavaScript
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
ADR药品不良反应监测系统是一款智能化工具,用于监测和分析药品不良反应。该系统通过收集和分析病历、处方及实验室数据,快速识别潜在不良反应,提升用药安全性。系统采用Java开发,基于SpringBoot框架,前端使用Vue,具备数据采集、清洗、分析等功能模块,并能生成监测报告辅助医务人员决策。通过集成多种数据源并运用机器学习算法,系统可自动预警药品不良反应,有效减少药害事故,保障公众健康。
230 0
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
|
11月前
|
机器学习/深度学习 自然语言处理 搜索推荐
《通义灵码:开启智能新纪元》
在科技飞速发展的时代,人工智能如同璀璨星辰照亮人类前行的道路。通义灵码凭借独特的魅力和强大的功能,成为智能时代的先锋。它汇聚全球顶尖科学家和工程师,采用自然语言处理、知识图谱构建及深度学习等技术,开启未来智能世界大门,为智能客服、医疗、金融、教育和交通等领域带来前所未有的变革与机遇。通义灵码不仅高效准确,还能提供个性化服务,并不断学习进化。面对数据安全、伦理道德等挑战,通义灵码将持续创新,推动社会进步,引领我们走向更加智能的未来。
201 0