软件工程方法学作业6_答案
软件工程作业及参考答案(版)
软件危机与软件工程3.软件工程方法学的研究内容包含软件开发技术和软件工程管理两部分, 其期望达到的最终目标是 ()。
A •消除软件危机B •软件开发工程化C •程序设计自动化D •实现软件重用4•软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的( )。
A .工程管理B .成本核算C .人员培训D .工具开发5•软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是( )。
A •设计人员和用户B •分析人员和用户C .分析人员和设计人员D .编码人员和用户6 .软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的 逻辑模型形成于( )。
A .开发阶段B .计划阶段C .分析阶段D .设计阶段7 .在软件工程中,软件生存期可分为计划、开发以及维护三个阶段,每个时期又分为若干更小的阶段。
通常,计划时期包括问题定义、可行性研究和①,开发时期包括 ②、详细设计、编码以及 ③。
① A . 需求分析 B . 可行性研究 C . 经费预算 D .质量保证②A . 需求分析B . 可行性研究C 总体设计D 模块化设计 ③A . 文档编制B . 运行维护C . 测试D . 验收&软件开发中常采用的生命周期方法,由于其特征而一般称其为() A .层次模型 B .瀑布模型C .螺旋模型D .对象模型9.描述软件生存周期的瀑布模型包括计划、(A )、设计、编码、测试、维护等阶段。
其中,设计阶段又可以分成(B )和(C )两个步骤。
A :①需求分析 ②可行性研究 ③需求调查 ④问题定义 B, C :①方案设计②代码设计③概要(总体)设计 ④数据设计 ⑤详细设计10.什么是软件危机?软件危机产生的原因? ".生命周期阶段的划分?每个阶段的任务?可行性研究软件工程1软件危机是指在开发和( A .运行 B .设计2 •造成软件危机的原因是: A. 用户使用不当C .硬件不可靠)过程中所遇到的一系列严重问题。
软件工程第六版课后习题答案
第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。
软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。
常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。
而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。
这些都降低了开发商的信誉,引起用户不满。
(2) 用户对已完成的软件不满意的现象时有发生。
(3) 软件产品的质量往往是靠不住的。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。
(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。
(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。
软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。
(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。
(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。
二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。
软件工程第六版课后习题答案
第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。
软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。
常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。
而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。
这些都降低了开发商的信誉,引起用户不满。
(2) 用户对已完成的软件不满意的现象时有发生。
(3) 软件产品的质量往往是靠不住的。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。
(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。
(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。
软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。
(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。
(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。
二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。
软件工程试题与答案 (6)
第一章软件工程概述一。
填空题1. 软件的发展过程, , ,。
2. 基于软件的工作方式,软件可以划分为 , , , .3。
在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 .4。
在计算机系统中,软件是,而硬件是。
5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。
6。
文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档.7. 软件生存期若分为三个大的阶段,, .8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码).9. 在软件的生存周期开发阶段要经三个步骤 , , 。
10. 瀑布模型是以文档为驱动、适合于的软件项目的模型.11。
螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,,和四个步骤。
12。
软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。
采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。
螺旋线第一圈的开始点可能是一个____ .从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。
13。
软件开发模型,,,, , .14. 软件工程面临的问题有 , , , .15。
面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 .16.基于软件的功能划分可以把软件划分为, ,和。
17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机.为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。
18.软件工程是指导的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
《软件工程》试题及参考答案(第6套)
电计系软件工程专业20 –20 学年度期《软件工程》试题(第6套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)二、在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
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.软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们()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.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD14. 协作图反映收发消息的对象的结构组织,它与()是同构的。
软件工程导论第六章课后答案
计算机科学与技术第六章习题答案4、图6.18给出的程序流程图代表一个非结构化的程序,问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。
(3)在(2)题的设计中使用附加的标志变量flag了吗?若没有,再设计一个使用flag的程序;若用了,再设计一个不用flag的程序。
图6.18 一个非结构化程序答:(1)图示程序的循环控制结构有两个出口,不符合结构程序的定义,因此是非结构化的程序。
(2)设计的等价结构化程序盒图如下所示:(3)在第(2)题中没有使用标志变量flag,设计使用附加的标志变量flag,将上述程序改成等价的结构化程序,如下盒图所示:7、某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费加上与交易中的每股价格和股数有关的附加手续费。
如果交易总金额少于1000元,则等于手续费为交易金额的8.4%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额的5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额的4%加上134元。
当每股售价低于14元时,附加手续费为基本手续费的5%,除非买进、卖出的股数不是100的倍数,在这种情况下附加手续费为基本手续费的9%。
当每股售价在14元到25元之间时,附加手续费为基本手续费的2%,除非交易的股数不是100的倍数,在这种情况下附加手续费为基本手续费的6%。
当每股售价超过25元时,如果交易的股数零散(即,不是100的倍数),则附加手续费为基本手续费的4%,否则附加手续费为基本手续费的1%。
要求:(1)用判定表表示手续费的计算方法。
(2)用判定树表示手续费的计算方法。
答:(1)用判定表表示手续费的计算方法如下所示:(2)用判定树表示手续费的计算方法如下所示:8、画出下列伪码程序的流图,计算它的环形复杂度。
你觉得这个程序的逻辑有什么问题吗?C EXAMPLELOOP:DO WHILE Z>0A=B+1IF A>10THEN X=AELSE Y=ZEND IFIF Y<5THEN PRINT X,YELSE IF Y=2THEN GOTO LOOPELSE C=3END IFEND IFG=H+REND DOIF F>0THEN PRINT GELSE PRINT KEND IFSTOP答:(1)该伪码程序的流程图及程序流图如下:环形复杂度V(G)=流图中的边数-流图中的结点数+2=19-14+2=7=流图中的区域数=流图中判定结点数目+1=6+1=7(2)有问题, 算法中控制最外层循环的变量Z没有初始化,且在该循环内部未出现任何改变Z取值的语句。
软件工程课后习题参考答案
软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。
1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。
它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。
2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。
它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。
2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。
功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。
3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。
3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。
面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。
4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。
4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。
编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。
5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。
软件工程方法学作业6_答案
1. 软件设计一般分为总体设计和详细设计,它们之间的关系是(B)。
A. 全局和局部B. 抽象和具体C. 总体和层次D. 功能和结构2. 软件结构使用的图形工具,一般采用(C)图。
A. DFDB. PADC. SCD. E-R3. 下列中属于软件设计的基本原理的是(D)。
A. 数据流分析设计B. 变换流分析设计C. 事务流分析设计D. 模块化4. 在软件结构的后处理中,下列说法错误的是(E)。
A. 为模块写的处理说明及接口说明可采用IPO图B. 数据结构的描述可用Warnier图或Jackson图C. 给出设计约束或限制。
如数据的边界值、数据类型、格式、内存容量及时间的限制D. 在概要设计评审中,应着重评审软件需求是否得到满足及软件结构的质量等E. 设计的优化工作主要放在软件结构设计的后处理阶段5. 在分层数据流图映射成软件结构的设计中,下列说法错误的是(D)。
A. 分层的数据流图映射成软件结构图也应该是分层的B. 软件结构图的物理输入与输出部分放在主图中较为合适C. 分层DFD图的映射方法:主图是变换型,子图是事务型;或主图是事务型,子图是变换型D. 变换型通常用于高层数据流图的转换,而事务型通常用于较低层数据流图的转换6. 软件设计阶段一般又可分为(B)。
A. 逻辑设计与功能设计B. 概要设计与详细设计C. 概念设计与物理设计D. 模型设计与程序设计7. 结构图中,不是其主要成分的是(C)。
A. 模块B. 模块间传递的数据C. 模块内部数据D. 模块的控制关系8. 好的软件结构应该是(B)。
A. 高耦合、高内聚B. 低耦合、高内聚C. 高耦合、低内聚D. 低耦合、低内聚9. 结构分析方法就是面向(B)自顶向下逐步求精进行需求分析的方法。
A. 目标B. 数据流C. 功能D. 对象10. 程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的内聚性和(C)。
A. 独立性B. 有效性C. 耦合性D. 安全性11. 程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的(D)和耦合性。
《软件工程》试题及参考答案(第6套)
《软件工程》试题(第6套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程B 软件工具C 质量保证D 软件工程2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
A 业务需求B 功能要求C 非功能需求D 用户需求3、软件测试计划开始于需求分析阶段,完成于()阶段。
A 需求分析B 软件设计C 软件实现D 软件测试4.下面关于面向对象方法中消息的叙述,不正确的是( )。
A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。
A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的6.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性 D.可移植性7.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护8.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能9.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。
A.时间内聚 B.逻辑内聚C.通信内聚 D.信息内聚5.影响软件可维护性的决定因素是()A 文档B 可理解性C 可测试性D 可修改性10.实现单入口单出口程序的三种基本控制结构是()A 顺序、选择、循环B 过程、子程序、分程序C 调用、返回、转移D 递归、堆栈、队列11.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。
软件工程导论第6章
70年代初N.Wirth在Pascal语言中设置支持“顺序 结构”、“IF-THEN-ELSE选择结构”、“DO-WHILE 重复结构”或“DO-UNTIL重复结构”三种基本控制 结构语句。
25
3种基本控制结构
(1) 顺序型
A B
(2) 选择型
F P A B T
(2) 多情况选择型(case)
T T
P=1 F P=2 F P=n F
…
A1 A2
T
An
(3) 先判定型循环
后判定型循环
(do-while)
F
(do-until)
P T S
S P F
T
例1、某模块有两个输入a和b,一 个输出c,当满足条件(a>0)and(b<2) 时,c=a+b,否则c=a-b。画出该模 块的程序流程图。
a b
第6章 详细设计
6.1 结构程序设计 6.2 人机界面设计 6.3 过程设计的工具 6.4 面向数据结构的设计方法 6.5 程序复杂程度的定量度量 6.6 小结 习题
1
详细设计阶段的根本目标:确定应该怎样具体地 实现所要求的系统。 为软件结构图中的每一个模块确定使用的算法和 块内数据结构,并用某种选定的表达工具给出清晰 的描述。
100 110
120
130 140
Eq:等于 ne:不等于 gt:大于 lt:小于 ge:大于等于 le:小于等于
例:打印A、B、C三数中最小者的程序 if (A.LT.B .AND. A.LT.C)then write(6,*) A else if (A.GE.B .AND. B.LT.C) then write(6,*) B else write(6,*) C endif endif
软件工程导论第六版部分课后习题答案
1-1 什么是软件危机?是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1-3 什么是软件工程?是指导计算机软件开发和维护的一门工程学科。
1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):1. 传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
1-6 什么是软件过程?它与软件工程方法学有何关系?z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。
软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。
瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。
适用中小型项目。
快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。
软件工程导论(第六版)部分课后习题答案
第一章1-1 什么是软件危机?是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1-3 什么是软件工程?是指导计算机软件开发和维护的一门工程学科。
1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):1. 传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
1-6 什么是软件过程?它与软件工程方法学有何关系?z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。
软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。
瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。
适用中小型项目。
快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。
软件工程(第五版)-习题及答案---第六章
软件工程(第五版)-习题及答案---第六章-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII一、选择题1、UML的主要特点不正确的是(C)。
A、面对对象,表达能力强B、可视化建模C、面对过程,表达能力强D、统一标准2、静态建模图不包括(B)。
A、用例图B、协作图C、类图D、对象图3、用例图的模型元素不包括(D)。
A、用例B、系统C、行为者D、软件开发者4、类图的要素不包括(D)。
A、类名称B、操作C、属性D、对象5、时序图中的要素不包括(A)。
A、执行者B、对象C、对象生命线D、消息6、对象模型的描述工具是(C)。
A、状态图B、数据流图C、对象图D、结构图7、协作图的要素不包括(A)。
A、用例B、对象C、链D、消息8、类图反映了系统中对象之间的抽象关系,不包括(D)。
A、关联B、聚合C、泛化D、内聚9、下面(D)不是状态图的图符。
A、圆角的矩形B、实心圆点C、实心圆环D、椭圆10、描述类中某个对象的行为,反映了状态与事件关系的是(A)。
A、状态图B、数据流图C、对象图D、结构图11、动态模型的描述工具(C)。
A、对象图B、设计图C、状态图D、结构图12、表示对象的相互行为的模型是(A)模型。
A、对象B、动态C、结构D、静态13、有关类和对象的描述中,错误的是(A)。
A、一个类只能有一个对象B、对象是类的具体实例C、类是某一类对象的抽象D、类和对象的关系是一种数据类型和变量的关系14、用例图中用例之间的关系通常有关联关系、依赖关系和(C)关系。
A、协作B、聚合C、泛化D、内聚15、动态模型图包括:时序图、协作图、状态图和(C)图。
A、对象图B、设计图C、活动图D、结构图二、简答题1.简要介绍用例图的三个要素。
答:用例图主要包括以下三个元素:①用例(Use Case):用例是系统的使用过程或要执行的动作序列,用来描述某个参与者使用系统所完成的功能。
在图中用椭圆来表示,用例名称可写在椭圆中或椭圆下面。
软件工程课后答案(清华大学出版社--钱乐秋)
8
作业及解答(第3章)
E1 护士
F4警告信息、病情报告 F1要求报告
E1 护士
Hale Waihona Puke E2 病人F2生理信号P0 患者监护系统
F6日志
D1患者日志
F5安全范围
D2患者安全范围
E3 时钟
13:07:42
F3日前、时间
重庆工学院计算机科学与工程学院 李梁(liliang@)
9
作业及解答(第3章)
是: 4474263 22,371(人月) 200
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
5
作业及解答(第1-2章)
程序员的月平均工资是4000美元, 开发出4474263条指
令的成本是 22371 4000 89,484,000(美元)
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
16
作业及解答(第3章)
3-3 银行计算机储蓄系统的工作过程大致如下:储户填写的 存款单或取款单由业务员键入系统,如果是存款则系统记 录存款人姓名、住址(或电话号码)、身份证号码、存款类 型、存款日期、到期日期、利率及密码(可选)等信息,并 印出存单给储户;如果是取款而且存款时留有密码,则系 统首先核对储户密码,若密码正确或存款时未留密码,则 系统计算利息并印出利息清单给储户。 请用数据流图描绘本系统的功能,并用实体-联系图描绘系 统中的数据对象。
医院对患者8监护系统的基本要求是随时接收每个病人的 生理信号(脉搏、体温、血压、心电图等),定时记录病人 情况以形成患者日志,当某个病人的生理信号超出医生规 定的安全范围时向值班护士发出警告信息,此外,护士在 需要时还可以要求系统印出某个指定病人的病情报告。
软件工程导论(第六版)部分课后习题答案
第一章1—1 什么是软件危机?是指在计算机软件的开发和维护过程中所遇到的一系列严重问题.1—3 什么是软件工程?是指导计算机软件开发和维护的一门工程学科.1—4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):1. 传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度.缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用.1—6 什么是软件过程?它与软件工程方法学有何关系?z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1—7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。
软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型.瀑布模型的优点:1。
可强迫开发人员采用规范的方法;2。
严格规定了每个阶段必须提交的文档;3。
要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2。
需求确定后,经过一段时间才得到软件最初版本;3。
完全依赖规格说明,导致不能满足用户需求。
适用中小型项目。
快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。
软件工程实用教程(2版)-6章-习题与参考答案-2012-5-28
层与层之间的耦合应尽可能地松散,这样只要保证接口一致,某一层的具体实现就很容易被扩展和替换;
级别相同,职责类似的元素应该被组织到同一层中;
复杂的模块应被继续分解为粒度更细的层或子系统;
应尽量将可能发生变化的元素封装到一个层次中,这样发生变化时我们只要改变受影响的层就可以了;
4.举例说明各种程序设计语言的特点及适用范围。
答案要ห้องสมุดไป่ตู้:
JAVA:面向对象,多线程,可重用性强,继承,多态,有庞大的Applet和GUI库,网络应用广泛等
C:是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。
《软件工程实用教程》
第
1.简述分层模式的特点及设计时的注意事项。
答案要点:
表示层:图形用户界面、窗口等。
应用逻辑层:管理业务过程的任务和规则。
对象存储层:持久化存储机制,例如,文件系统、数据库等。
这种体系结构的主要特征是将应用逻辑从软件中分离出来,形成了一个单独的逻辑中间层。把应用逻辑和存储逻辑分开是非常重要的,这样不管哪一部分的改变都不会影响其他的部分。
(2)基于使用的测试。这种策略首先测试几乎不使用服务器类的那些类(称为独立类),把独立类都测试完之后,再测试使用独立类的下一个层次的类(称为依赖类)。对依赖类的测试一个层次一个层次地持续进行下去,直至把软件系统构造完为止。
《软件工程》试题及参考答案(第6套)
第一部分選擇題一、單項選擇題(本大題共20小題,每小題1分,共20分)在每小題列出の四個備選項中只有一個是符合題目要求の,請將其代碼填寫在題後の括號內。
錯選、多選或未選均無分。
1、()是軟件生存期中の一系列相關軟件工程活動の集合,它由軟件規格說明、軟件設計與開發、軟件確認、軟件改進等活動組成。
A 軟件過程B 軟件工具C 質量保證D 軟件工程2、在各種不同の軟件需求中,功能需求描述了用戶使用產品必須要完成の任務,可以在用例模型或方案腳本中予以說明,()是從各個角度對系統の約束和限制,反映了應用對軟件系統質量和特性の額外要求。
A 業務需求B 功能要求C 非功能需求D 用戶需求3、軟件測試計劃開始於需求分析階段,完成於()階段。
A 需求分析B 軟件設計C 軟件實現D 軟件測試4.下面關於面向對象方法中消息の敘述,不正確の是( )。
A. 鍵盤、鼠標、通信端口、網絡等設備一有變化,就會產生消息B.操作系統不斷向應用程序發送消息,但應用程序不能向操作系統發送消息C. 應用程序之間可以相互發送消息D.發送與接收消息の通信機制與傳統の子程序調用機制不同5.美國卡內基—梅隆大學SEI提出のCMM模型將軟件過程の成熟度分為5個等級,以下選項中,屬於可管理級の特征是( )。
A.工作無序,項目進行過程中經常放棄當初の計劃B.建立了項目級の管理制度C.建立了企業級の管理制度D.軟件過程中活動の生產率和質量是可度量の6.在McCall軟件質量度量模型中,()屬於面向軟件產品修改。
A.可靠性B.可重用性C.適應性 D.可移植性7.軟件生命周期中所花費用最多の階段是()A.詳細設計 B.軟件編碼 C.軟件測試 D.軟件維護8.需求分析階段の任務是確定()A.軟件開發方法B.軟件開發工具C.軟件開發費D.軟件系統の功能9.如果某種內聚要求一個模塊中包含の任務必須在同一段時間內執行,則這種內聚為( )。
A.時間內聚 B.邏輯內聚C.通信內聚 D.信息內聚5.影響軟件可維護性の決定因素是()A 文檔B 可理解性C 可測試性D 可修改性10.實現單入口單出口程序の三種基本控制結構是()A 順序、選擇、循環B 過程、子程序、分程序C 調用、返回、轉移D 遞歸、堆棧、隊列11.為高質量地開發軟件項目,在軟件結構設計時,必須遵循()原則。
软件工程第6章 课后作业参考答案
第六章 作业题参考答案3.画出下列伪码程序的程序流程图和盒图: STARTIF p THENWHILE q DO f END DO ELSEBLOCK g nEND BLOCK END IF STOP 答:(1)流程图如图6-1所示:图6-1从伪码变成的程序流程图 (2)该程序的盒图如图6-2所示:图6-2 从伪码变成的程序盒图4.下图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。
(3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag 的程序;若用了,再设计一个不用flag的程序。
答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。
图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。
(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图6-3描绘了等价的结构化程序的盒图。
(a)解法1(b)解法2图6-3 与该图等价的结构化程序(用flag)(3)不使用flag把该程序改造为等价的结构化程序的方法如图6-4所示。
图6-4 与该图等价的结构化程序(不用flag)8.画出下列伪码程序的流图,计算它的环形复杂度。
你觉得这个程序的逻辑有什么问题吗?C EXAMPLELOOP:DO WHILE X>0A=B+1IF A>10THEN X=AELSE Y=ZEND IFIF Y<5THEN PRINT X,YELSE IF Y=2THEN GOTO LOOPELSE C=3END IFEND IFG=H+REND DOIF F>0THEN PRINT GELSE PRINT KEND IFSTOP答:(1)该伪码的流程图如图6-8所示:图6-8 程序流程图根据该程序流程图,可得该程序流图如图6-9所示:图6-9 程序流图环形复杂度V(G)=流图中的区域数=流图中判定结点数目+1=6+1=7 (判定结点为:1、3、6、8、10、11)(2)该算法问题在于控制最外层循环的变量Z不仅没有经过初始化,并且在该循环内部没有任何有可能该变Z的语句。
《软件工程》试题及参考答案(第6套)
宜宾学院200 –200 学年度期《软件工程》试题(第6套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程B 软件工具C 质量保证D 软件工程2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
A 业务需求B 功能要求C 非功能需求D 用户需求3、软件测试计划开始于需求分析阶段,完成于()阶段。
A 需求分析B 软件设计C 软件实现D 软件测试4.下面关于面向对象方法中消息的叙述,不正确的是( )。
A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。
A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的6.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性 D.可移植性7.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护8.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能9.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 软件设计一般分为总体设计和详细设计,它们之间的关系是(B)。
A. 全局和局部
B. 抽象和具体
C. 总体和层次
D. 功能和结构
2. 软件结构使用的图形工具,一般采用(C)图。
A. DFD
B. PAD
C. SC
D. E-R
3. 下列中属于软件设计的基本原理的是(D)。
A. 数据流分析设计
B. 变换流分析设计
C. 事务流分析设计
D. 模块化
4. 在软件结构的后处理中,下列说法错误的是(E)。
A. 为模块写的处理说明及接口说明可采用IPO图
B. 数据结构的描述可用Warnier图或Jackson图
C. 给出设计约束或限制。
如数据的边界值、数据类型、格式、内存容量及时间的限制
D. 在概要设计评审中,应着重评审软件需求是否得到满足及软件结构的质量等
E. 设计的优化工作主要放在软件结构设计的后处理阶段
5. 在分层数据流图映射成软件结构的设计中,下列说法错误的是(D)。
A. 分层的数据流图映射成软件结构图也应该是分层的
B. 软件结构图的物理输入与输出部分放在主图中较为合适
C. 分层DFD图的映射方法:主图是变换型,子图是事务型;或主图是事务型,子
图是变换型
D. 变换型通常用于高层数据流图的转换,而事务型通常用于较低层数据流图的转换
6. 软件设计阶段一般又可分为(B)。
A. 逻辑设计与功能设计
B. 概要设计与详细设计
C. 概念设计与物理设计
D. 模型设计与程序设计
7. 结构图中,不是其主要成分的是(C)。
A. 模块
B. 模块间传递的数据
C. 模块内部数据
D. 模块的控制关系
8. 好的软件结构应该是(B)。
A. 高耦合、高内聚
B. 低耦合、高内聚
C. 高耦合、低内聚
D. 低耦合、低内聚
9. 结构分析方法就是面向(B)自顶向下逐步求精进行需求分析的方法。
A. 目标
B. 数据流
C. 功能
D. 对象
10. 程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的内聚性和(C)。
A. 独立性
B. 有效性
C. 耦合性
D. 安全性
11. 程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的(D)和耦合性。
A. 一致性
B. 作用域
C. 嵌套限制
D. 内聚性
12. 软件设计中划分通常遵循的原则是要使模块间的耦合性尽可能(B)。
A. 强
B. 弱
C. 较强
D. 适中
13. 对象模型的描述工具是(C)。
A. 状态图
B. 数据流图
C. 对象图
D. 结构图
14. 面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程,因此面向对象方法有许多特征,如软件系统是由对象组成的;(C);对象彼此间仅能通过传递消息互相联系;层次结构的继承。
A. 开发过程基于功能分析和功能分解
B. 强调需求分析的乖要性
C. 把对象划分成类,每个对象类都定义一组数据和方法
D. 对即存类进行调整
15. 每个对象可用它自己的一组属性和它可以执行的组(C)来表现。
A. 行为
B. 功能
C. 操作
D. 数据
16. 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有了类,这种层次结构系统的一个重要性质是(B ),一个类获得其父类的全部描述(数据和操作)。
A. 传递性
B. 继承性
C. 复用性
D. 并行性
17. 面向对象的主要特征除对象唯一性、封装、继承外,还有(A)。
A. 多态性
B. 完整性
C. 可移植性
D. 兼容性
18. 面向对象开发方法子概念和表示上的致性保证了分析和设计的(C)过渡。
A. 困难
B. 不容易
C. 平滑
D. 顺序
19. 动态模型的描述工具是(C)。
A. 对象图
B. 结构图
C. 状态图
D. 设计图
20. 表示对象的相互行为的模型是(B )模型。
A. 对象
B. 动态
C. 功能
D. 静态
21. PAD图的特点是什么
(1)使用表示结构优化控制结构的PAD符号所设计出来的程序必然是程序化程序(2)PAD图所描述的程序结构十分清晰。
图中最左边的竖线是程序的主线,即第一层控制结构。
随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。
PAD图中竖线的总条数就是程序的层次数;(3)用PAD图表现程序逻辑,易读、易懂、易记。
PAD图是二维数型结构的图形,程序从图中最左边上端的结点开始执行,自上而下,从左到右顺序执行;(4)很容易将PDA图转换成高级程序语言源程序
22. 用PDL表示的程序结构一般有哪几种
上机题
1.某图书出版公司希望每月定期向固定客户邮寄最近一个月的图书分类目录。
客户可在其收到的目录上圈定自己要买的书。
出版公司按照客户的反馈信息邮寄图书。
要求为出版公司设计软件,以实现以下功能:
⑴自动生成图书分类目录。
⑵自动处理客户反馈信息。
试用面向数据流的方法给出系统的数据流图,并设计出软件结构图。
2.图书馆的预定图书子系统有如下功能:
⑴由供书部门提供书目给订购组。
⑵订购组从各单位取得要订的书目。
⑶根据供书目录和订书书目产生订书文档留底。
⑷将订书信息(包括数目,数量等)反馈给供书单位。
⑸将未订书目通知给订书者。
⑹对于重复订购的书目由系统自动检查,并把结果反馈给订书者。
试根据要求画出该问题的数据流程图,并把其转换为软件结构图。
3. 输入卡片分析程序
一叠输入卡片,按内容可分为K1、K2、K3三类,卡片叠排列规则是以K1开始,K2卡终止。
启始卡之前属前置部分,不许有K1卡片,启始卡与终止卡之间为分批部分,不许有
K2卡。
K1
卡张数=C K3卡批数=D
…………
图示:输入卡片的一种可能的排列 试用Jackson 方法编写一程序,要求能依次完成下列工作: ——统计起始卡以前的卡片张数,存入A ;
——打印起始卡的内容;
——统计起始卡以后出现的K1卡和K3卡总批数,存入B ; ——统计起始卡以后出现的K1卡的张数,存入C ;
——统计起始卡以后出现的K3卡的批数,存入D ;
——打印终了卡的内容;
——打印A ,B ,C ,D 4个统计值。
前置部分
非K1卡张数=A
终了卡。