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

简介: <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.螺旋模型
----------------------------------------- 软考点点 ----------------------------------------
    前期在做这类题的时候,完全是按自己的主观理解,近乎于凭感觉,错的几率很大。
     做了两套题后,发现这是一道固定的题,只要自己把每个模型都总结总结,看看它们具体有什么各自的特点,应该也不是问题。可结果是,看完后,做题的正确率依然很低。
    到后来,我们小组建议抓住每个模型的关键词,比如瀑布模型中的‘需求明确’,原型模型中的‘需求不明确’和螺旋模型中的‘风险’......
    这样一来,根据题目的条件,就很容易判断出是何种软件开发模型。很多题目说法不一样,其实关键在于它仍然是需求明确的,所以一定是瀑布模型。之前也是因为没有抓住模型的关键之处,才会每次都做错的。
     相信有了这个着手点之后,即抓关键,正确率一定会是百分之百。
目录
相关文章
|
9月前
|
测试技术 开发工具 C++
【软件设计师备考 专题 】软件开发环境和工具
【软件设计师备考 专题 】软件开发环境和工具
203 0
|
设计模式 机器学习/深度学习 SQL
软考高级系统架构设计师通关经验分享
为什么考系统架构设计师是国家设立的计算机技术与软件专业技术资格考试(简称软考)中的一个高级科目,属于工程师高级职称系列,具有一定含金量。浙江省每年通过软考高级的人数约为1000+人,其中系统架构设计师科目的通过人数约为200+人。从学习角度来说,通过准备系统架构设计师的考试的过程,可以查漏补缺,并且了解一些系统架构设计相关的基础知识,实现一定程度上的自我提升;从目的性的角度来说,通过考试,可以在一
13094 4
软考高级系统架构设计师通关经验分享
|
4月前
|
架构师 NoSQL 大数据
复习七天通过软考高级系统架构师经历
复习七天通过软考高级系统架构师经历
148 1
|
8月前
|
小程序 项目管理 计算机视觉
软考高项备考经验分享
### 高级信息系统项目管理师备考经验概要 - 备考时间:建议3-6个月,每天2小时,周末4-6小时。 - 资料:用《信息系统项目管理师教程(第4版)》,配合视频课程(机构、淘宝、B站)。 - 综合理论:重点标记,多做题(如51CTO、希赛网、软考信管网题库),整理错题,记住常用英文词汇。 - 案例分析:重视计算,牢记公式,例如成本偏差(CV)、进度偏差(SV)等,多做练习。 - 论文写作:提前准备,理解10大管理过程,避免模板,利用真实项目或政府招标案例。 备考策略注重效率和针对性,论文准备尤为关键,案例和综合题型固定,需多练题掌握公式。
197 2
软考高项备考经验分享
|
8月前
|
设计模式 算法 边缘计算
“论软件的可靠性评价”必过范文,突击2024软考高项论文
容错设计,其核心理念是,在出现错误时能够有效地防止系统发生故障,特别是在那些错误可能导致严重后果的情况下。其次是检错设计,它帮助我们及时识别潜在的错误。最后是通过降低软件的
115 4
“论软件的可靠性评价”必过范文,突击2024软考高项论文
|
8月前
|
存储 设计模式 算法
软件设计师软考中项学习(一)之考试了解与知识大纲
软件设计师软考中项学习(一)之考试了解与知识大纲
73 0
|
9月前
|
存储 传感器 安全
【软件设计师备考 专题 】描述软件需求的多种方法
【软件设计师备考 专题 】描述软件需求的多种方法
141 0
|
9月前
|
供应链 Oracle 关系型数据库
【软件设计师备考 专题 】常用应用系统
【软件设计师备考 专题 】常用应用系统
80 0
|
存储 SQL 安全
针对国赛知识点总结一
狗蛋师傅投稿,师傅讲:因为最近几年的国赛和各个地方省赛会出一些漏洞复现的题目 师傅整理出来一些笔记给大家看看
743 0
|
敏捷开发 算法 架构师
【备战软考架构师系列笔记 · 001】软件工程篇 —— 软件开发方法的主要分类 ⭐
# 软件开发方法### 分类- 按功能 - 水平原型(针对界面) - 垂直原型(针对复杂算法)
259 0
【备战软考架构师系列笔记 · 001】软件工程篇 —— 软件开发方法的主要分类 ⭐