以下关于系统原型的叙述中,不正确的是()

 A.可以帮助导出系统需求并验证需求的有效性

 B.可以用来探索特殊的软件解决方案

 C.可以用来指导代码优化

 D.可以用来支持用户界面设计

请先 登录 后评论

1 个回答

亚里士德
擅长:互联网

知识点:软件工程-软件过程模型-演化模型-原型模型

位于章节5.2.3

实际上5.2章节的软件过程模型,是每年必考一个题。

---

本题考察原型模型的特点。适合用户需求不清、系统规模不大(因为需要快速构建和部署交付)、需要弄清用户要求的系统。

很明显A选项是正确的。B选项是:"探索多种方案可行性"的这个特点。D选项是:"能够迅速地开发出一个让用户看得见、摸得着的系统框架"的这个特点。

---

各个模型有什么特点?作用是什么?

作用就是在开发前开会决定用哪一个模型,好安排开发人员的时间,可以及时的按质按量的完成开发目标,还有成本预算。

瀑布模型特点(经常考的):就像瀑布一样,飞流直下,几乎没有修改(整个阶段由前到后、相互衔接固定次序)。

待开发的系统的前期需求是完整的、简单的、明确的;也就是开发后用户不会修改需求;
过程穿过整个从需求分析到运行与维护(包括测试);
缺点:开发完成之后才交付,时间、预算风控能力弱,容易超预算;严重依赖用户的需求固定。

增量模型:不断的发布多个增量版本交付,每一个版本都经过和瀑布模型一样的分析-设计-编码-测试。

所以它继承了所有的瀑布的优点(简单,容易理解、管理成本低等)。其他优点:第一个交付成本和时间少,时间风险不大,等等。缺点是,用户修改需求后,有些增量需要重新开发;可能不好管理等等。

    以上两个都是相对单独的软件过程模型,模型本身不会发生变化。

    演化过程模型是会随着开发过程而修改的,所以叫演化。书上介绍了两个演化模型(原型和螺旋),再加上一个独立的喷泉,一共就三大类,无个模型,每年都考其中一个。

演化模型之原型模型:特点就是一个字,快。快速开发一个原型交付给用户(计划-建模-开发-部署),然后和用户交流,所以沟通是这个原型的重要组成部分。可以发现,原型模型和以上两个模型相比,原型模型并没有提到测试。可能是因为测试是需要花大量时间的。

根据使用原型的目的不同,原型可以分为探以下3种。
探索型原型的目的是要弄清目标的要求,确定所希望的特性,并探讨多种方案的可行性。(选项B内容)
实验型原型的目的是验证方案或算法的合理性,是在大规模开发和实现前,用于考查方案是否合适、规格说明是否可靠等。(选项A内容)
演化型原型的目的是将原型作为目标系统的一部分,通过对原型的多次改进,逐步将原型演化成最终的目标系统。

演化模型之螺旋模型:这个模型是开发大型的、风险较大的、复杂的软件时所需要的模型。它和其他模型最大的不同之处在于它有风险分析(最近某一年的考题)。它是结合了瀑布模型和演化模型(可以理解就是上面的原型模型)。

它有四个阶段:制定计划---风险分析---实施工程---用户评估。可以看到,相比瀑布模型,这个模型也是需要和用户沟通的。

缺点是:需要开发人员需要相当专业的评估经验;过多的迭代次数会增加开发成本,延迟提交时间。

喷泉模型:就是需要用户来喷你,然后你才开发?以用户需求为动力,以对象作为驱动的模型。是一个面向对象的开发方法(有一年考试也考了它的这个特点)。

特点是:1、需要不断的迭代完善系统;2、多个活动可以同时进行,没有明显的边界,也就是可以提高开发的效率、节省时间。
缺点是:需要重复多次开发活动;需要大量的开发人员,不利于管理;会产生大量的文档,审核难度加大。

---

其他的不常考的模型(但是也考过的):

1、基于构建的开发模型:特点是可以复用构件库,突出一个预先。有两个工程:领域工程和应用系统工程。前者的目的是:构建-,模型、基准结构、可复用的构件库;后者的目的是使用可复用的构建,来组装系统。

2、形式化方法模型:特点是:1、建立在严格的数学基础上的。(好像有一年考了这个特点)2、主要用来生成软件的数学规格说明。(这也是它为什么叫形式化的原因吧)

3、统一过程模型:特点1:使用uml(统一建模语言)方法和工具支持。2、用例和风险驱动,以架构为中心,迭代:每一个被划分出来的迭代的小项目都包含正常软件的所有元素:计划、分析和设计、构造、集成和测试、内部和外部发布。所以记住统一建模语言的联系就行了。

4、敏捷开发-极限编程:快速计划、先写测试代码(很久以前有一年就考了这个,还有2019年也考了这个。并不是先写程序代码)、重构、结对编程(几个人一起用一个电脑?)、按日甚至按小时发布版本、每周40小时工作制、标准的编码(很久以前有一年也考了这个特点,说会不会提高编码质量,会不会提高编码速度)。

5、敏捷开发-水晶法:水晶多个面,所以不同的项目应该有不同的策略、方法;人对项目质量有较大的影响。

还有三个敏捷开发的方法,记肯定是记不住了,自己看书吧...并列争求法、自适应软件开发、敏捷统一过程过程。








请先 登录 后评论
  • 1 关注
  • 0 收藏,1498 浏览
  • 亚里士德 提出于 2021-07-22 01:57