软件工程2
软件工程第二章-软件过程

编码
运行 时期
1. 瀑布模型
瀑布模型(waterfall model)是软件工程最早的范例,
也称经典生命周期,它提出了一个系统的、顺序的软 件开发方法,从用户需求规格说明开始,通过计划、 建模、构建和部署的过程,最终提供一个完整的软件 并提供持续的技术支持。
沟通 项目启动 需求获取 策划 项目估算 进度计划 项目跟踪
… 框架活动 # n 动作 # n.1 任务集 …… 动作 # n.m 任务集 工作任务、工作产品、 质量保证点、项目里程碑
工作任务、工作产品、 质量保证点、项目里程碑
只有一种软件过程吗?
软件过程的种类很多,区别主要体现在几个方面: 组成过程的各个活动(包括普适性活动)、动作和任务,及其相互依 赖的关系都可能不同; 动作和任务的细化程度可能不同; 工作产品的定义和要求可能不同; 质量保证活动的应用方式可能不同; 项目跟踪和控制活动的应用方式可能不同; 过程描述的详细程度和严谨程度可能不同; 客户和利益相关者对项目参与的程度可能不同; 软件团队所赋予的自主权可能不同; 队伍组织和角色的明确程度可能不同。
下优先级进行增量开发:
第一个增量实现基本的文件管理、编辑和文档生成功能
; 第二个增量实现更加完善的编辑和文档生成功能; 第三个增量实现拼写和文法检查功能; 第四个增量完成高级的页面布局功能; ……
增量模型的特点
增量过程模型综合了线性、并行、演化三种过程流的
特征。
对于每个增量,使用的是线性过程流;
过程流
过程流(process flow):描述了在执行顺序和执行时
间上,如何组织框架中的活动、动作和任务。 大致有四大类不同的过程流:
软件工程第二版答案

里面包含绝大部分的软件工程第二版中的课后习题答案瞿中编第一章仿真试题1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、具体设计、编码、测试和运营、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( )。
A、具体计划B、可行性分析C、运营阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节犯错,对软件的影响最大( )。
A、具体设计阶段B、概要设计阶段C、需求分析阶段D、测试和运营阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目的( )。
A、需求分析阶段B、具体设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现重要是由于( )。
A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实行的重要保证是( )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为( )A、互相排斥B、互相补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它重要应用于哪种软件开发方法( )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发规定最高( )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实行时强调的是分析对象的( )A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划提成( )A、计划阶段、开发阶段、运营阶段B、计划阶段、编程阶段、测试阶段C、总体设计、具体设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特性而一般称其为( )A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为也许占用人员最多的阶段是( )A、分析阶段B、设计阶段C、编码阶段D、测试阶段13、软件开发模型是指软件开发的所有过程、活动和任务的结构框架。
软件工程第二次作业软件案例分析(二)2024

软件工程第二次作业软件案例分析(二)引言概述:本文旨在对软件案例进行分析,总结出其中的关键点,从而提供给读者对软件工程的实践经验。
本文分为五个大点进行阐述,包括需求分析、设计和实现、测试和验证、维护和部署以及总结。
需求分析:1. 理解案例需求:仔细研读软件案例的背景和目标,明确软件所要解决的问题。
2. 分析用户需求:采取访谈、调查问卷等方法,了解目标用户的实际需求和期望。
3. 提取功能需求:将用户需求转化为具体的功能需求,并进行优先级排序。
4. 确定非功能需求:除了功能需求,还需要考虑性能、安全、可靠性等非功能需求。
5. 确定需求文档:撰写详细的需求规格说明书,以便于后续的设计和开发工作。
设计和实现:1. 架构设计:根据需求分析结果,确定合适的软件架构模式,并进行系统分解和模块划分。
2. 模块设计:根据架构设计,进一步细化模块的功能和接口,确定模块之间的通信方式。
3. 编码实现:根据设计文档,采用适当的编程语言和开发工具,完成软件的编码工作。
4. 代码测试:编写和执行单元测试用例,检验代码的正确性和健壮性。
5. 集成测试:将各个模块进行集成,并进行系统级别的测试,确保系统的功能和性能要求。
测试和验证:1. 测试计划:制定详细的测试计划,明确测试目标、策略和方法。
2. 单元测试:针对每个模块编写测试用例,并进行单元测试,确保模块的功能正确。
3. 集成测试:将各个模块进行集成测试,测试系统的功能和接口是否正常。
4. 系统测试:对整个系统进行全面测试,包括功能、性能、安全等各个方面。
5. 验证与确认:通过测试结果验证系统是否满足需求,并进行用户确认,是否满足用户期望。
维护和部署:1. 软件交付:将软件部署到生产环境中,并进行系统的安装和配置。
2. 问题修复:及时响应用户的问题反馈,进行故障排查和修复。
3. 功能扩展:根据用户需求和市场变化,对软件进行功能的增加和改进。
4. 性能优化:监控系统性能,进行性能优化,提升软件的响应速度和稳定性。
软件工程第2讲 软件生命周期模型

敏捷开发4软件生命周期模型1瀑布模型及几个衍生模型2迭代和递增3其他生命周期模型及模型比较5敏捷开发4软件生命周期模型1瀑布模型及几个衍生模型2迭代和递增3其他生命周期模型及模型比较57P32: 2.9.2P23: 2.2 P25: 2.3P34: 2.9.3模型构造多使用脚本语言、基于现有基础代码库、UI工具制作,制作过程一般不会考虑性能、稳定敏捷开发4软件生命周期模型1瀑布模型及几个衍生模型2迭代和递增3其他生命周期模型及模型比较5迭代-递增生命周期模型递增也是软件工程的一个固有特性P27P26: 2.5P28P29P30 2.7敏捷开发4软件生命周期模型1瀑布模型及几个衍生模型2迭代和递增3其他生命周期模型及模型比较58个体和交互胜过过程和工具以人为本我相信没有比面对面交流更高效的沟通渠道了•尊重和信任激发个人内心的责任感和使命感,激发了个体的潜能。
•基于互相信任的前提,敏捷提倡自治的全功能团队。
在工作形式上,整个团队平时坐在一起工作,从物理空间上创造了更加便捷面对面的沟通机会。
•要摒弃这种重流程和重工具,提倡轻量级流程和轻量级工具,而这些流程和工具又在促进个体交互。
比如,我们在日常工作中会使用Trello、Jira、Keynote等工具。
可以工作的软件胜过面面俱到的文档价值导向为客户交付可工作的软件是我们的核心目标•我们应该尽早交付可进行端到端测试的代码,该目标决定了我们不应该花过多精力在面面俱到的文档上。
•但这不代表我们要抵制任何文档。
实践证明,轻量级的文档策略有助于团队高质量交付可工作的软件。
•在开发过程中,交互设计原型也是一种轻量级文档,交互设计师交付可以尽早地跟团队和客户进行确认验收的核心业务场景的原型,快速收集反馈。
客户合作胜过合同谈判客户团队帮助客户实现他们真正想要的价值•让客户也作为团队的一分子,跟客户建立信任的合作关系取代敌对的谈判关系。
•需求的变化往往来自客户,让客户参与进来可以在开发的过程中尽早的发现变化,从而尽早采取解决方案。
软件工程第二章(可行性分析)

(5) 交付的产品清单。
项目开发计划书供软件开发单位使用。
小结:
1、项目的问题定义、可行性分析和项目计划是总体 规划阶段的工作,重点是项目的可行性分析。
2、可行性分析主要从技术可行性、经济可行性和操 作可行性三方面来分析该项目是否值得开发。
3、可行性分析最后形成的成果是可行性分析报告。
项目的筹备、规划与准备是软件项目实施的前
期工作,它由两个重要的工作阶段构成:一是
项目规划及可行性分析;二是项目需求分析。
一、可行性分析的概念
可行性分析就是解决一个项目是否有可行解以及是
否值得去解的问题。该阶段的主要任务就是用最小
的代价在尽可能短的时间内确定问题是否能够得到 解决。
二、可行性分析的目标和内容
等。
(6) 技术可行性(技术风险评价):技术实力分析、已有的 工作及技术基础和设备条件等等。 (7) 法律可行性分析结果描述。 (8) 可用性评价:汇报用户的工作制度和人员的素质,确 定人机交互功能界面需求。
(9) 其他项目相关的问题:如可能会发生的变更等等。
可行性研究报告由系统分析员撰写,交由项目负责人审查, 再上报给上级主管审阅。 在可行性研究报告中,应当明确项目“可行还是不可行”, 如果认为可行,接下来还要制定项目开发计划书。
识别用户要求 评价系统的可行性 进行经济分析和技术分析 把功能分配给硬件、软件、人、数据库和其它系 统元素 建立成本和进度限制 生成系统规格说明,形成所有后续工程的基础
三、 可行性分析的主要任务
具体地说,分析员应从下面三个方面对项目做出可行性分 析: (1)技术可行性:使用现有的技术能实现这个系统吗? (2)经济可行性:这个系统的经济效益能超过它的开发成本 吗?(详细在后面介绍成本/效益分析) (3)操作可行性:系统的操作方式在该用户组织内行得通吗?
软件工程 软件设计方法(二)2024

软件工程软件设计方法(二)引言概述:软件设计方法是软件工程领域中至关重要的一部分,它涉及到软件系统架构、模块设计、接口设计等多个方面。
本文将着重介绍软件设计方法的五个主要方面,包括需求分析、系统架构设计、模块划分、接口设计和可重用性。
正文:1. 需求分析- 确定用户需求:通过与用户沟通,明确软件系统的功能需求和性能需求。
- 业务流程分析:了解用户的业务流程,以便设计出符合实际业务需求的软件。
- 数据模型设计:根据需求对数据进行建模,定义数据实体、属性和关系。
2. 系统架构设计- 划分子系统:将整个软件系统分解为多个相对独立的子系统,每个子系统负责特定的功能。
- 确定系统层次:定义子系统之间的层次结构和依赖关系,保证系统的稳定性和可扩展性。
- 选择适当的架构风格:根据软件系统的特点和需求,选择适合的架构风格,如客户端-服务器、分层或微服务等。
3. 模块划分- 确定模块功能:根据系统需求和架构设计,将系统功能划分为不同的模块。
- 设计模块接口:定义模块之间的接口规范,确保模块之间的协同工作和信息交互。
- 模块详细设计:对每个模块进行详细设计,包括内部数据结构和算法的设计。
4. 接口设计- 定义接口规范:确定模块之间的接口规范,包括输入输出参数、数据格式等。
- 接口协议设计:设计合适的接口协议,包括数据传输格式、访问控制等。
- 接口测试和验证:进行接口测试,确保接口的正确性和稳定性。
5. 可重用性- 模块复用:设计和实现可重用的模块,以提高软件的开发效率和质量。
- 组件库开发:建立组件库,将常用的功能模块抽象为可重用的组件,方便后续开发过程中的重用。
- 框架设计:设计通用的框架,提供开发的基础设施和通用功能。
总结:通过本文对软件设计方法的介绍,我们可以看到,在软件工程中,软件设计方法的重要性不可忽视。
通过需求分析、系统架构设计、模块划分、接口设计和可重用性等方面的综合考虑,可以设计出高效、可靠、可维护的软件系统。
软件工程2
8.数据项是指________数据单元。缩写为_________。
9.数据项是指________数据单元。
10.软件概要设计的主要任务就是________。
三.名词解释(共20分,每小题4分)
1.信息隐蔽
2.CASE
3.SA
4.数据字典(DD)
C.McCabe度量法D.时间估算法
二、填空题(共15分,每空1.5分)
1.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是______阶段。
2.对象之间进行通信的构造叫做_______。
3.计算机辅助25.为了便于对照检查,测试用例应由输入数据和预期的______________两部分组成。
将学员发来的信件收集分类后,按几种不同的情况处理。
如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。
如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单操作手册
9.采用图表示软件项目进度安排,下列说法中正确的是
A.能够反映多个任务之间的复杂关系
B.能够直观表示任务之间相互依赖制约关系
C.能够表示哪些任务是关键任务
D.能够表示子任务之间的并行和串行关系
10.下列模型属于成本估算方法的有
B.A.COCOMO模型B.McCall模型
如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。
要求:
1.)对以上问题画出数据流程图。
2.)画出该培训管理的软件结构图的主图。
软件工程实用教程2版课后答案
软件工程实用教程2版课后答案第1章软件工程引论1.什么是软件危机?它和软件工程有什么关系?答案要点:由于软件规模的扩大、功能的增强和复杂性的增加,使得在一定时间内仅依靠少数人开发一个软件变得越来越困难。
在软件开发中经常会出现时间延迟、预算超支、质量得不到保证、移植性差等问题,甚至有的项目在耗费了大量人力、财力后,由于离目标相差甚远而宣布失败。
软件危机的突出表现:1)软件生产率低2)软件产品常常与用户要求不一致3)软件规模的增长,带来了复杂度的增加4)不可维护性突出5)软件文档不完整、不一致。
人们提出“软件工程”的概念,就是为了用工程的方法和管理手段,将软件开发纳入工程化的轨道,以便开发出成本低、功能强、可靠性高的软件产品。
由于引入了软件工程的思想,把其他工程技术研究和开发领域中行之有效的知识和方法运用到软件开发工作中来,提出了按工程化的原则和方法组织软件开发工作的解决思路和具体方法,在一定程度上缓解了“软件危机”。
2.简述软件和软件工程的定义以及软件工程的形成过程。
答案要点:计算机软件是由计算机程序的发展而形成的一个概念。
它是与计算机系统操作有关的程序、规程、规则及其文档和数据的统称。
软件由两部分组成:一是机器可执行的程序和有关的数据;二是与软件开发、运行、维护、使用和培训有关的文档。
软件工程是指导计算机软件开发和维护的工程学科。
它强调按照软件产品的生产特性,采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前最好的技术结合起来,以便经济地开发出高质量的软件并有效地维护它。
第一阶段:20世纪70年代,为了解决软件项目失败率高、错误率高以及软件维护任务重等问题,人们提出软件生产工程化的思想,希望使软件生产走上正规化的道路,并努力克服软件危机。
第二阶段:20世纪80年代,面向对象的方法与技术受到了广泛的重视,Smalltalk-80的出现标志着面向对象的程序设计进入了实用和成熟阶段。
软件工程第2章-系统工程
软件工程第2章-系统工程软件工程第2章-系统工程2.1 系统工程概述系统工程是一种系统性和综合性的工程方法,旨在设计、开发和维护复杂的软件系统。
系统工程的主要目标是满足用户需求,并确保系统的有效性、可靠性和可维护性。
2.1.1 系统工程定义系统工程是一个跨学科的领域,涉及到多个专业领域的知识和技术。
它集成了工程学、计算机科学、信息技术等多个学科的理论与实践,以解决大规模软件系统开发和维护过程中的各种问题。
2.1.2 系统工程过程系统工程的过程涵盖了软件系统的整个生命周期,包括需求分析、设计、开发、测试、部署和维护等阶段。
每个阶段都有特定的任务和活动,并且需要进行严格的管理和控制。
2.1.2.1 需求分析阶段需求分析阶段是系统工程的起点,通过与用户沟通和交流,收集和整理用户需求,并将其转化为系统的功能和性能要求。
2.1.2.2 设计阶段在设计阶段,系统工程师会根据需求分析阶段的成果,设计整个系统的结构和组件之间的关系。
这包括系统架构设计、模块设计和接口设计等。
2.1.2.3 开发阶段开发阶段是系统工程中最为关键的阶段,主要是根据设计阶段的成果,进行软件编码、集成和测试。
开发人员需要按照设计规范和编码标准进行开发工作,并保证代码的质量和可维护性。
2.1.2.4 测试阶段测试阶段是为了验证系统是否满足用户需求,并发现和修复潜在的缺陷和问题。
测试人员会执行各种测试活动,包括单元测试、集成测试和系统测试等。
2.1.2.5 部署阶段在部署阶段,系统工程师会将已经通过测试的系统部署到目标环境中,并进行安装、配置和调优等工作,确保系统能够正常运行。
2.1.2.6 维护阶段维护阶段是系统工程的最后一个阶段,主要是为了确保系统能够持续地运行和满足用户的需求。
维护人员会定期检查系统的性能和可靠性,并进行必要的修复和优化等工作。
2.2 系统工程的关键技术2.2.1 需求工程需求工程是系统工程中非常重要的一环,它主要涉及到需求获取、需求分析、需求验证和需求管理等方面的内容。
软件工程是什么意思,软件工程(二)2024
软件工程是什么意思,软件工程(二)引言概述:软件工程是指将系统化的、规范化的、可量化的方法应用于软件的开发、维护和运行过程的一门学科。
它涉及到软件开发的各个阶段,包括需求分析、设计、编码、测试和部署等。
本文将继续探讨软件工程的相关内容,重点关注软件工程的角色定位、软件开发生命周期、软件质量保证、软件项目管理和软件工程实践等方面。
正文:1. 软件工程的角色定位1.1 软件工程师的责任和职责1.2 软件工程师的技能要求1.3 软件工程师的角色与其他相关职位的区别1.4 软件工程师的职业前景和发展方向1.5 软件工程在不同行业中的应用案例2. 软件开发生命周期2.1 需求分析阶段的重要性和流程2.2 设计阶段的原则和方法2.3 编码阶段的最佳实践和规范2.4 测试阶段的重要性和方法2.5 部署和维护阶段的关键点和挑战3. 软件质量保证3.1 软件质量的定义和评估标准3.2 软件质量保证的方法和工具3.3 软件质量保证与测试的区别和联系3.4 软件质量保证的挑战和解决方案3.5 软件质量保证的重要性在软件项目中的体现4. 软件项目管理4.1 软件项目管理的基本概念和原则4.2 软件项目管理的流程和方法4.3 软件项目管理的关键要点和技巧4.4 软件项目管理中常见的问题和解决方案4.5 软件项目管理的价值和意义5. 软件工程实践5.1 软件工程实践的基本理念和方法5.2 软件工程实践的组织和团队建设5.3 软件工程实践的日常工作和流程5.4 软件工程实践中的创新和发展5.5 软件工程实践的成功案例和经验总结总结:本文从软件工程的角色定位、软件开发生命周期、软件质量保证、软件项目管理和软件工程实践等多个方面进行了深入探讨。
软件工程是一门系统的学科,涉及到软件开发的各个阶段以及相关的方法和工具。
只有在有效的软件工程实践和良好的项目管理下,才能确保软件的质量和可靠性。
希望本文对读者对软件工程的理解有所帮助,并能在实际工作中应用相关的知识和技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单选题(客观) 答题要求 :
每题只有一个正确的选项
1(5.0 分)
5.0
软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两 阶段,其中详细设计主要是要建立()。
A)
软件结构
B)
软件过程
C)
软件模型
D)
软件模块
参考答案: B
收起解析 解析:
无
2(5.0 分)
5.0
软件开发过程包括()。
A)
3 个阶段
B)
5 个阶段
C)
4 个阶段
D)
8 个阶段
参考答案: D
收起解析 解析:
无
3(5.0 分)
5.0
下列文档与维护人员无关的有()。
A)
软件需求说明书
B)
项目开发计划
C)
概要设计说明书
D)
操作手册
参考答案: B
收起解析 解析:
无
4(5.0 分)
5.0
数据流图和数据字典共同构成系统的()。
A)
物理模型
B)
结构模型
C)
逻辑模型
D)
设计说明书
参考答案: D
收起解析 解析:
无
5(5.0 分)
5.0
软件测试的目的()。
A)
证明软件的正确性
B)
找出软件系统中存在的所有错误
C)
尽可能多的发现软件系统中的错误
D)
证明软件系统中存在错误。
参考答案: C
收起解析 解析:
无
6(5.0 分)
5.0
需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的 是()需求。
A)
功能
B)
性能
C)
数据
D)
环境
参考答案: A
收起解析 解析:
无
7(5.0 分)
5.0
软件生命周期中所花费用最多的阶段是()。
A)
详细设计
B)
软件编码
C)
软件测试
D)
软件维护
参考答案: D
收起解析 解析:
无
8(5.0 分)
5.0
下面对软件的可维护性影响最小的是()。
A)
可理解性
B)
可测试性
C)
可修改性
D)
代码效率。
参考答案: C
收起解析 解析:
无
9(5.0 分)
5.0
为了提高测试的效率,应该()。
A)
随机地选取测试数据
B)
取一切可能的输入数据作为测试数据
C)
在完成编码以后制定软件的测试计划
D)
选择发现错误可能性大的数据作为测试数据
参考答案: D
收起解析 解析:
无
10(5.0 分)
5.0
软件需求分析是保证软件质量的重要步骤,它的实施应该是在()。
A)
编码阶段
B)
软件开发全过程
C)
软件定义阶段
D)
软件设计阶段
参考答案: C
收起解析 解析:
无
11(5.0 分)
5.0
计算机辅助软件工程,简称()。
A)
SA
B)
SD
C)
SC
D)
CASE
参考答案: D
收起解析 解析:
无
12(5.0 分)
5.0
()是衡量软件质量的主要质量特性,也是用户十分关心的几个方 面。
A)
可维护性
B)
可使用性
C)
可靠性
D)
可理解性
参考答案: D
收起解析
解析:
无
13(5.0 分)
5.0
快速原型是利用原型辅助软件开发的一种新思想,它是在研究() 的方法和技术中产生的。
A)
需求阶段
B)
设计阶段
C)
测试阶段
D)
软件开发的各个阶段
参考答案: D
收起解析 解析:
无
14(5.0 分)
5.0
“软件危机”是指()。
A)
计算机病毒的出现
B)
利用计算机进行经济犯罪活动
C)
软件开发和维护中出现的一系列问题
D)
人们过分迷恋计算机系统
参考答案: C
收起解析 解析:
无
15(5.0 分)
5.0
按照软件工程的原则,模块的作用域和模块的控制域之间的关系 是()。
A)
模块的作用域应在模块的控制域之内
B)
模块的控制域应在模块的作用域之内
C)
模块的控制域与模块的作用域互相独立
D)
以上说法都不对
参考答案: A
收起解析 解析:
无
16(5.0 分)
5.0
结构化程序设计的一种基本方法是()。
A)
筛选法
B)
迭代法
C)
逐步求精法
D)
递归法
参考答案: C
收起解析
解析:
无
17(5.0 分)
5.0
程序的三种基本控制结构是()。
A)
过程、子程序和分程序
B)
顺序、选择和重复
C)
递归、堆栈和队列
D)
调用、返回和转移
参考答案: B
收起解析 解析:
无
18(5.0 分)
5.0
下列关于模块化程序设计的叙述中不正确的是()。
A)
程序设计比较方便,但比较难以维护
B)
便于由多个人分工编制大型程序
C)
软件的功能便于扩充
D)
程序易于理解,也便于排错
参考答案: A
收起解析 解析:
无
19(5.0 分)
5.0
产生软件危机的主要原因之一是()。
A)
软件是逻辑产品
B)
软件自身的特点所决定的
C)
软件无磨损
D)
软件产品的成本上升过快
参考答案: B
收起解析 解析:
无
20(5.0 分)
5.0
瀑布模型本质上是一种()。
A)
线性迭代模型
B)
顺序迭代模型
C)
线性顺序模型
D)
及早见产品模型
参考答案: C
收起解析 解析:
无
。