(建筑工程管理)软件工程作业答案
【建筑工程管理】软件工程题库带答案

《软件工程》复习题库一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分)1.软件产品的开发主要是( D )。
A.复制B.再生产C.拷贝D.研制2.作坊式小团体合作生产方式的时代是( C )时代。
A.程序设计B.软件生产自动化C.程序系统D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于( C )。
A.理论研究B.原理探讨C.建造软件系统D.原理的理论4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。
A.编码B.需求分析C.详细设计D.测试5.可行性研究的目的是决定( B )。
A.开发项目B.项目值得开发否C.规划项目D.维护项目6.SA方法用DFD描述( D ) 。
A.系统的控制流程B.系统的数据结构C.系统的基本加工D.系统的功能7.进行需求分析可使用多种工具,但( C )是不适用的。
A. 数据流图(DFD)B. 判定表C. PAD图D. 数据字典8.结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述是常用的说明工具,其中便于对加工出现的组合条件的说明工具是( A )。
a.结构化语言;b.判定树;c.判定表。
A. b和cB. a,b和cC. a和cD. a和b9.软件概要设计结束后得到( B )。
A.初始化的软件结构图B.优化后的软件结构图C.模块详细的算法D.程序编码10.软件设计阶段一般又可分为( B )。
A.逻辑设计与功能设计B.概要设计与详细设计C.概念设计与物理设计D.模型设计与程序设计11.软件设计中划分模块的一个准则是( C )。
A.低内聚低耦合B.低内聚高耦合C.高内聚低耦合D.高内聚高耦合12.PDL是软件开发过程中用于( C )阶段的描述工具。
A.需求分析B.概要设计C.详细设计D.编程13.下列语言中哪个语言是低级语言( D )A. PASCALB.VISUAL BASICC. C++D.汇编语言14.软件测试的目的是( B )。
软件工程习题附答案

软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些与软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解析:需求分析阶段主要是确定软件系统需要完成的功能和性能,解决软件“做什么”的问题。
2、下面不属于软件设计原则的是()A 抽象B 模块化C 自底向上D 信息隐藏答案:C解析:软件设计的原则通常包括抽象、模块化、信息隐藏等,自底向上一般不是软件设计的原则,常见的是自顶向下的设计方法。
3、软件测试的目的是()A 证明软件没有错误B 发现软件中的错误C 改正软件中的错误D 优化软件的性能答案:B解析:软件测试的目的是为了发现软件中存在的错误,而不是证明软件没有错误或直接改正错误、优化性能。
4、下列模型中,不属于软件生命周期模型的是()A 瀑布模型B 快速原型模型C 增量模型D 螺旋模型E 喷泉模型答案:E解析:瀑布模型、快速原型模型、增量模型和螺旋模型都属于常见的软件生命周期模型,喷泉模型则主要强调软件对象之间的无缝迭代。
5、软件维护中,因修改软件而导致出现新错误的维护属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:A解析:改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
在这种维护中,可能会因为修改软件而引入新的错误。
二、填空题1、软件工程包括()、()和()三个要素。
答案:方法、工具、过程2、软件需求分析阶段的工作,可以分为四个方面:()、()、()和()。
答案:需求获取、需求分析、编写需求规格说明书、需求评审3、软件测试的步骤主要包括()、()、()和()。
答案:单元测试、集成测试、系统测试、验收测试4、面向对象的三大特性是()、()和()。
软件工程课后习题答案

软件⼯程课后习题答案习题答案习题⼀答案⼀、选择题1. 软件的主要特性是(A B C)。
A) ⽆形 B) ⾼成本C) 包括程序和⽂档D) 可独⽴构成计算机系统2. 软件⼯程三要素是(C D)。
A) 技术、⽅法和⼯具B) ⽅法、⼯具和过程C) ⽅法、对象和类D) 过程、模型、⽅法3. 包含风险分析的软件⼯程模型是(A)。
A) 螺旋模型 B) 瀑布模型C) 增量模型 D) 喷泉模型4. 软件⼯程的主要⽬标是(C)。
A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于⾯向对象开发⽅法的是(A B C D)。
A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。
A) 软件成本太⾼B) 软件产品的质量低劣C) 软件开发⼈员明显不⾜D) 软件⽣产率低下7. 软件开发⽅法的主要⼯作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件⼯程的⽬标有(A B C)。
A) 易于维护B) 低的开发成本C) ⾼性能D) 短的开发期9. 软件⼯程学的⽬的和意义是( )。
A) 应⽤科学的⽅法和⼯程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训⼯作D) 以较低的成本开发出⾼质量的软件⼆、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最⼤优点是将软件开发的各个阶段划分得⼗分清晰。
(×)3. 结构化⽅法的⼯作模型是使⽤螺旋模型进⾏开发。
(×)4. 结构化⽅法和JSP⽅法都不适合于⼤型软件的开发。
(√)5. 原型化开发⽅法包括⽣成原型和实现原型两个步骤。
(×)6. ⾯向对象的开发⽅法包括⾯向对象的分析、⾯向对象的设计和⾯向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件⼯具的作⽤是为了延长软件产品的寿命。
软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
(完整版)软件工程课后答案

《软件工程》作业及答案1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
软件工程习题附答案

软件工程习题附答案软件工程是一门研究如何以系统性的、规范化的、可定量的方法开发和维护软件的学科。
在软件工程的学习和实践中,习题是一种重要的学习方法,通过解答习题可以加深对知识的理解和应用。
本文将为您提供一些关于软件工程的习题,并附带答案。
请注意,下文中的答案仅供参考,具体情况还需根据实际情况进行判断和调整。
1. 什么是软件工程?答案:软件工程是一门研究如何以系统性的、规范化的、可定量的方法开发和维护软件的学科。
2. 软件工程的核心原则是什么?答案:软件工程的核心原则是系统分析、设计、编程、测试和维护各个阶段严格按照规范进行,并强调团队协作和项目管理的重要性。
3. 软件生命周期包括哪些阶段?答案:软件生命周期包括问题定义、需求分析、系统设计、编码、测试和维护等阶段。
4. 请简要描述软件工程的开发流程。
答案:软件工程的开发流程一般包括需求分析、系统设计、编码、测试和维护等阶段。
具体而言,首先需要明确需求,然后进行系统设计,确定软件的整体结构和功能。
接着进行编码,将设计好的软件实现为代码。
随后进行测试,检查软件是否符合需求并修复潜在的问题。
最后是维护阶段,对软件进行更新和修复,以保证其长期有效运行。
5. 请列举几种常用的软件开发方法。
答案:常用的软件开发方法包括瀑布模型、迭代模型、敏捷开发等。
6. 什么是瀑布模型?答案:瀑布模型是一种线性顺序型的软件开发方法,各个阶段严格按照顺序进行,上一个阶段的输出作为下一个阶段的输入。
7. 什么是迭代模型?答案:迭代模型是一种反复迭代、循环演化的软件开发方法,每次迭代都会增加新的功能或修复问题。
8. 请简要介绍敏捷开发方法。
答案:敏捷开发方法是一种轻量级的软件开发方法,强调迭代、灵活和快速响应变化。
它鼓励团队协作、自我组织和持续改进。
9. 请列举几种常用的软件测试方法。
答案:常用的软件测试方法包括单元测试、集成测试、系统测试和验收测试等。
10. 什么是单元测试?答案:单元测试是针对软件开发的最小单位——单元(如函数、方法等)进行的测试,用于检查该单元是否符合预期的功能和设计要求。
软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1.简答题1.1 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可量化的方式开发和维护软件的学科,涉及到软件的设计、构建、测试、部署和维护等全生命周期的过程。
1.2 软件工程的目标是什么?软件工程的目标是提高软件开发过程的效率和质量,确保软件项目按时、按需求交付,并且能够满足用户的期望。
1.3 软件生命周期有哪些阶段?常见的软件生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。
1.4 什么是软件需求?软件需求是指对于软件系统所需满足的问题或需求的描述,包括功能需求、性能需求、接口需求等。
1.5 软件开发过程有哪些模型?常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型、敏捷开发等。
2.客观题2.1 软件测试的目的是什么?a) 发现软件中的错误和缺陷b) 验证软件是否符合需求和规格c) 提高软件的可靠性和质量d) 以上皆是答案:d) 以上皆是2.2 瀑布模型的特点是什么?a) 瀑布模型是一种线性顺序的软件开发过程模型b) 各个开发阶段是相互独立的c) 开发过程按照需求分析、设计、编码、测试等顺序进行d) 以上皆是答案:d) 以上皆是2.3 敏捷开发的原则是什么?a) 个体和交互胜过流程和工具b) 可工作的软件胜过详尽的文档c) 客户合作胜过合同谈判d) 响应变化胜过遵循计划e) 以上皆是答案:e) 以上皆是3.计算题3.1 请计算以下代码的覆盖率:(假设代码行数为100行,已执行代码行数为80行)覆盖率 = 已执行代码行数 / 代码行数 100% = 80 / 100 100% = 80%3.2 请计算以下缺陷密度的值:(假设代码行数为1000行,代码中的缺陷数为10个)缺陷密度 = 缺陷数 / 代码行数 1000 = 10 / 1000 1000 = 103.3 请计算以下代码的复杂度:(假设代码中包含的判断语句有20个,循环语句有5个)复杂度 = 判断语句数 2 + 循环语句数 3 = 20 2 + 5 3 = 40 + 15 = 554.附件本文档涉及附件:无5.法律名词及注释本文涉及的法律名词及注释:无。
(建筑工程管理)软件工程模拟题带答案

a1.提示用户输入无效密码,请求再次输入; a2.如果三次输入无效密码,系统自动关闭,退出客户银行卡。 子事件流 b: b1.提示用户余额不够。 b2.返回(5),等待客户重新选择。 要求:请用面向对象方法学对该系统进行分析和设计,按要求用 UML 建立 ATM 机的静态模 型和动态模型。分别完成以下工作: (1)给出 ATM 系统的用例模型(10 分) (2)给出 ATM 系统的类图(10 分) (3)给出 ATM 取款顺序图(时序图)(10 分) (4)给出 ATM 取款协作图(10 分) 答:这道题课本 P281 有,基本壹模壹样,不过感觉课本上的答案不对…. 软件工程期末试卷 B 试题壹、结构化分析和设计(共 20 分,每小题 10 分) 需求陈述: 现有壹图书预定系统,接收由顾客发来的订单,且对订单进行校验,验证过程是根据图书目 录检查订单的正确性,同时根据顾客档案确定是新顾客仍是老顾客,是否有信誉。经过验证 的正确订单,暂存于待处理的订单文件中。对订单进行成批的处理,根据出版社档案,将订 单按照出版社进行分类汇总,且保存订单存根,然后将汇总的订单发往各出版社。 要求:用结构化方法学对图书预定系统进行分析和设计,分别完成以下工作: (1)给出图书预定系统的功能模型(用数据流图表示)。(10 分) (2)给出图书预定系统的软件体系结构(用 H 图或结构图表示)。(10 分)
环形复杂度 3 基本路径 3 条 路径 1:1-2-3-4-6-3-7 对应的测试用例 N=1 路径 2:1-2-3-4-5-6-3-7 对应的测试用例 N=4 路径 3:1-2-3-7 对应的测试用例 N=0 路径 1:1-2-3-4-6-7 对应的测试用例 N=1(???不太确定) 路径 2:1-2-3-4-5-6-7 对应的测试用例 N=4 路径 3:1-2-3-4-6-3-7 对应的测试用例 N=4 试题四、面向对象分析和设计(共 40 分,每题 10 分) 需求陈述: atm 系统包括软件和硬件俩部分,其业务大概分为 4 个部分:查询帐户余额、取款、存款和 更改用户的密码。壹个完整的 atm 系统包括壹下几个模块: (1)读卡机模块允许储户讲银行卡插入读卡机,读卡机识别卡的种类且于显示器上提示用 户输入密码。 (2)输入模块储户能够输入密码和取款金额,且选择要完成的事务。通常于键盘上只设数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程网上作业题第1章软件工程学概述一、选择题1.软件危机具有下列表现()I、对软件开发成本估计不准确II、软件产品的质量往往不可靠III、软件常常不可维护IV、软件成本逐年上升A.I、II和III B.I、III和IVC.II、III和IV D.以上都正确答案:D2. 产生软件危机的原因可能有()I、用户需求描述不精确、不准确II、对大型软件项目的开发缺乏有力的组织与管理III、缺乏有力的方法学和工具的支持IV、软件产品的特殊性和人类智力的局限性A.I和II B.I、II和IVC.II、III和IV D.以上都正确答案:D3. ()分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。
A.增量模型B.喷泉模型C.原型模型 D.螺旋模型答案:A4. 为了克服软件危机,人们提出了用( ) 的原理来设计软件,这就是软件工程诞生的基础。
A. 数学B. 软件学C. 运筹学D. 工程学答案:D4、TURBO PASCAL是()软件。
A.系统软件B.人工智能C.事务软件D.应用软件答案:D6.具有风险分析的软件生存周期模型是()A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型答案:C7. 瀑布模型的关键不足在于()A.过于简单B.不能适应需求的动态变更C.过于灵活D.各个阶段需要进行评审答案:B8.软件危机是指()。
A.软件遭到破坏B.软件开发和维护过程中遇到的问题C.软件维护出现困难D.软件不能正常运行系列问题答案:B9. 软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A.固有的B.人为的C.可消除的D.不可降低的答案:A10. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A. 软件过程B. 软件测试C .软件生存周期D .软件工程答案:D11.软件的主要特性是( )。
A.高性能B.高成本C.包括程序和文档D.可独立构成计算机系统答案:B12.软件开发方法的主要工作模型有( )A.螺旋模型B.循环模型C.瀑布模型D.专家模型13.软件工程三要素是( )。
A.高技术人员、方法和工具B.方法、工具和过程C.方法、对象和类D.过程、模型、方法答案:B14.软件工程的目标有( )。
A.易于维护B.低的开发成本C.高性能D.短的开发期答案:B15.软件工程学的目的和意义是( )。
A.应用科学的方法和工程化的规范管理来指导软件开发B.克服软件危机C.做好软件开发的培训工作D.以较低的成本开发出高质量的软件答案:D16. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )A. 软件工程B. 软件周期C. 软件危机D. 软件产生答案:C17. 快速原型模型的主要特点之一是( )A. 开发完毕才见到产品B. 及早提供全部完整的软件产品C. 开发完毕后才见到工作软件D. 及早提供工作软件答案:D18.瀑布模型的存在问题是()A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求答案:B19、软件生存周期模型不包括:()A.瀑布模型B.对象模型C.增量模型D.喷泉模型答案:B20. 下列哪个不属于软件工程的内涵之一( )A.应用完善的科学与工程原理B.经济地开发软件C.高薪聘请软件高手D.开发既可靠又能有效运行的软件答案:C21.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于()。
A.维护时期B.计划时期C.运行时期D.开发时期答案:B22. 下列哪个办法不属于解决软件危机的途径之一( )A. 研制新一代智能计算机B. 大力扶持软件企业C. 采用软件工程的解决途径D. 采用面向对象的软件设计方法答案:B23.下面哪一项不属于快速原型模型的优点。
A.可及早为用户提供有用的产品。
B.可保证在开发后期,全面发现错误给以纠正。
C.减少技术应用风险,缩短开发时间,减少费用、提高生产率。
D.促使用户主动参与开发活动,促进各类人员的协调,适应需求变化。
答案:B24.下列哪个不属于瀑布模型与传统的程序设计的不同之处()。
A.传统的程序设计开发人员只开发程序,不写文档.B.传统的程序设计重点在问题求解和算法,并只有自己才能读懂.C.瀑布模型的各阶段要第三方介入审察D.传统的程序设计规定各阶段必须写文档.答案:D25.下面哪个模式不属于软件工程的开发模式A.基于瀑布模型的开发模式B.基于原型模型的开发模式C.基于人机对话的开发模式D.基于关系数据库的开发模式答案:C二、填空题1. 软件工程学的内容可包括()、结构、()、()、环境、管理、规范等。
答案:理论方法工具2. 软件生存周期一般可分为问题定义、()、()、设计、()、测试、运行与维护阶段。
答案:可行性研究需求分析编码3.软件=()+()。
答案:程序文档4.软件危机的事实使人们意识到:计算机要推广使用,其关键在于()技术的革新。
答:软件开发5.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作()。
答:软件危机6.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。
答:60年代末工程学7.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。
答:运行及维护三、判断改错题1. 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
()√2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
( )×文档驱动3.结构化方法的工作模型是使用螺旋模型进行开发。
( )×两者无关4.软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
( )×软件危机的主要表现:一方面是无法满足日益增长的对软件的需求;另一方面是难以满足对已有的软件系统维护的需要。
5.RCP法与RSP法的主要区别是,前者采用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。
( )√四、简答题1. 当沿着螺旋模型的过程流路径向外移时,你认为正在开发或维护的软件发生了什么变化?答:在使用螺旋模型开发软件的过程中,从核心开始,螺旋的第一圈可能产生软件的规格说明,接下来的螺旋可能用于开发一个原型,随后是软件的更完善的版本。
经过计划区域的每一圈是为了调整项目计划,基于从用户评估得到的反馈,调整费用和进度。
沿螺旋线自内向外每旋转一圈,便开发出一个更为完善的、新的软件版本。
2. 快速原型模型有几种?各有何特点?答:根据原型的不同作用,有三类原型模型:⑴探索型原型。
这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。
它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。
⑵实验型原型。
这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。
⑶演化型原型。
这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框或者包含系统的主要功能。
在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程。
3.试说明"软件生存周期"的概念。
答:软件生存周期是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。
(1)计划阶段:确定待开发系统的总体目标和范围,研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算。
软件计划的主要内容包括所采用的软件生命周期模型、开发人员的组织、系统解决方案、管理的目标与级别、所用的技术与工具,以及开发的进度、预算和资源分配。
(2)分析阶段:分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。
通过评审需求规格说明,确保对用户需求达到共同的理解与认识。
需求规格说明明确地描述了软件的功能,列出软件必须满足的所有约束条件,并定义软件的输入和输出接口。
(3)设计阶段:设计阶段的目标是决定软件怎么做,设计人员依据软件需求规格说明文档,确定软件的体系结构,进而确定每个模块的实现算法、数据结构和接口等,编写设计说明书,并组织进行设计评审。
(4)实现阶段:实现阶段是将所设计的各个模块编写成计算机可接受的程序代码,与实现相关的文档就是源程序以及合适的注释。
(5)测试阶段:在设计测试用例的基础上,测试软件的各个组成模块。
然后,将各个模块集成起来,测试整个产品的功能和性能是否满足已有的规格说明。
(6)维护阶段:一旦产品已交付运行之后,对产品所做的任何修改就是维护。
维护是软件过程的一个组成部分,应当在软件的设计和实现阶段充分考虑软件的可维护性。
维护阶段需要测试是否正确地实现了所要求的修改,并保证在产品的修改过程中,没有做其他无关的改动。
5.软件产品的特性是什么?答:a.软件产品是一种逻辑产品。
b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。
c.软件产品不会用坏,不存在磨损、消耗问题。
d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。
e.软件费用不断增加,成本相当昂贵。
6. 什么是软件危机?其产生的原因是什么?答:软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。
一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。
主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。
b.开发的软件不通满足用户要求。
c.开发的软件可维护性差。
d. 开发的软件可靠性差。
软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。
b.软件开发管理困难而复杂。
c.软件开发费用不断增加。
d.软件开发技术落后。
e.生产方式落后。
f.开发工具落后,生产率提高缓慢。
7. 什么是软件工程?它的目标和内容是什么?答:软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。
软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:a.付出较低的开发成本;b.面到要求的软件功能;c.取得较好的软件性能;d.开发的软件易于移植;e.需要较低的维护费用;f.能按时完成开发任务,及时交付使用;g.开发的软件可靠性高;软件工程的内容:1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。