软件工程导论试题分析
软件工程导论(第六版)部分课后习题-答案
软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案一、选择题1. 答案:B解析:选择题解析2. 答案:A解析:选择题解析二、判断题1. 答案:对解析:判断题解析2. 答案:错解析:判断题解析三、填空题1. 答案:软件工程解析:填空题解析2. 答案:开发、维护解析:填空题解析四、简答题1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约束条件。
解析:简答题解析2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审两个方面。
软件测试是通过运行和验证软件系统的过程,以确定其是否满足预期的需求和标准。
代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。
解析:简答题解析五、计算题1. 答案:20解析:计算题解析2. 答案:1000解析:计算题解析六、案例分析题1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控制的过程。
它包括项目范围管理、时间管理、成本管理、质量管理、风险管理等方面。
在一个项目中,软件项目经理负责整体的项目管理工作,包括资源的分配、进度的控制、风险的管理等。
解析:案例分析题解析2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。
它强调快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来逐步完善软件系统。
敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发的效率和质量。
解析:案例分析题解析总结:本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案和解析。
其中包括选择题、判断题、填空题、简答题、计算题和案例分析题等多个题型。
通过解答这些习题,读者可以进一步加深对软件工程的理解和掌握。
希望本文对读者有所帮助,谢谢阅读。
《软件工程导论》参考答案
参考答案(范村长下载的)第1章一、选择题1. D2. C3. B4. D5. B6. A7. D二、填空题1. 程序文档数据2. 抽象模块化信息隐蔽局部化一致性完备性可验证性3. 问题定义可行性研究需求分析4. 软件生命周期模型顺序性依赖性5. 制定计划风险分析实施工程客户评价6. 结构化分析结构化设计结构化程序设计数据流自顶向下,逐步求精功能的分解与抽象三、思考题1. 答:软件产品是一种无形的逻辑产品,是人们脑力劳动的结晶。
软件产品只能以程序、数据和文档的形式出现。
其存储介质是磁盘、磁带或光盘。
通过计算机的执行才能体现出来。
与硬件产品的制造不同,软件产品的成本主要花在研制上,而产品的制造实质上是所开发产品的拷贝。
软件产品不会像硬件产品一样磨损,但仍然需要维护,而且维护的成本很高。
软件产品的开发主要靠脑力劳动,所以产品研制的成本很高,很难像硬件产品那样实现工业化生产。
2. 答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件的日益增长的需求;如何维护数量不断膨胀的软件。
具体来说,软件危机主要有以下一些典型表现。
对软件开发成本和进度的估计常常很不准确。
用户对所交付的软件系统不满意的现象时有发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件文档资料通常不完整、不合格。
软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上日益增长的软件需求。
3. 答:软件工程的基本目标是在给定的成本、进度等条件下,开发出满足用户需求的软件产品。
简单来说,也就是要成功地建造一个大型软件系统。
软件项目的成功主要是要达到以下几个目标:付出较低的软件开发成本;达到用户所要求的软件功能;取得较好的软件性能;所开发的软件易于移植、可重用性好;需要较低的软件维护费用;能按时完成开发任务,及时交付使用;软件工程面临的主要问题是:软件费用、软件可靠性、软件维护、软件生产率和软件重用等。
软件工程导论复习题及答案
的耦合度最低。一个模块内部的内聚种类中 D 内聚的内聚度最高, E 内聚的内聚度最低。
A:① 低内聚低耦合 ② 低内聚高耦合
③ 高内聚低耦合
④ 高内聚高耦合
B:① 数据 C:① 数据 D:① 偶然 E:① 偶然
② 非直接 ② 非直接 ② 逻辑 ② 逻辑
③ 控制 ③ 控制 ③ 功能 ③ 功能
④ 内容 ④ 内容 ④ 过程 ④ 过程
2). C :例如,一个模块把开关量作为参数传送给另一模块。
3). D :例如,一个模块把一个数值量作为参数传送给另一模块。
其中, E5 的耦合性最强。
A:① 强
② 适中
③弱
④ 不考虑
B~E:
① 公共耦合
② 数据耦合
③ 逻辑耦合
④ 外部耦合
⑤ 内容耦合
⑥ 控制耦合
6.软件设计中划分模块的一个准则是 A 。两个模块之间的耦合方式中, B 耦合的耦合度最高, C 耦合
② 关于系统的高层逻辑模型
③ 用户手册
④ 操作手册
B:① 程序流程图 C:① 程序流程图 D:① 程序流程图 E:① 程序流程图
② IPO 图 ② 数据流图 ② HIPO 图 ② 算法描述
③ 成本/效益分析 ③ HIPO 图 ③ 数据字典 ③ IPO 图
④ 数据字典 ④ 算法描述 ④ 成本/效益分析 ④ HIPO 图
思想是 E ,这是提高可维护性的重要措施。
A~C:(共有下列 15 个可选择的答案供选择)
① 记录
② 集合
③ 指针
④树
⑤图
⑥表
⑦ 顺序
⑧ 选择
⑨ 重复
⑩ 线性表
⑾ 键表
⑿ 列表
⒀ 数组
⒁栈
软件工程导论复习题及答案
1、思考:假设要求你开发一个软件,其功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位.一旦实现并测试完之后,该产品将被抛弃.你打算用哪种软件生命周期模型?请说明你作出选择的理由.瀑布模型。
这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,既无须通过原型来分析需求,也无须用原型来验证设计方案.此外,一旦实现并测试完后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发.2、思考:假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本的开发.由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布.你打算采用哪种软件生命周期模型?为什么?应选有助于加快产品开发进度的模型:增量模型.旧版本相当于一个原型,通过收集用户对旧版本的反映较易确定对新版本的需求,没必要建立原型系统来分析用户需求;本公司的软件工程师对字处理软件有丰富的开发经验,开发不具有太大风险;该软件受到广大用户的喜爱,今后可能还要更新版本,应该把软件的体系结构设计成开放式的,便于改进和扩充.3、银行储蓄系统数据流图4、患者监护系统的功能级数据流图P187 8对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,此时MTTF=10h,经过两个月测试后,总共改正了25个错误,MTTF=15h.1.根据上述数据确定MTTF与测试时间之间的函数关系,画出MTTF与测试时间τ的关系曲线.在画这条曲线时做了什么假设?2.为做到MTTF=100h,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中?(1)假设在程序的平均无故障时间MTTF和测试时间τ之间存在线性关系,即MTTF=a+bτ由题意知:当τ=1时,MTTF=10 ;当τ=2时,MTTF=15,∴ a+b=10 a=5a+2b=15 b=5MTTF与τ之间有下列关系:MTTF=5+5τ(2)为使MTTF=100h则100=5+5τ 则τ=19即需要进行19个月的集成测试。
(完整)《软件工程导论》试题及答案,推荐文档
一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×)PAD图在设置了五种基本控制结构后,还允许递归调用. (×)为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)当验收测试通过,软件开发就完成了.(×)完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)在进行总体设计时应加强模块间的联系.(×)系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×)用黑盒法测试时,测试用例是根据程序内部逻辑设计的.(×)在程序调试时,找出错误的位置和性质比改正该错误更难.(√)以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√)二,单项选择题(每小题2分,共10分)试判断下列叙述中,哪个(些)是正确的(D)a,软件系统中所有的信息流都可以认为是事务流b,软件系统中所有的信息流都可以认为是变换流c,事务分析和变换分析的设计步骤是基本相似的A,a B,b C,c D,b和c进行需求分析可使用多种工具,但(B)是不适用的.A,数据流图B,PAD图C,判定表D,数据词典在详细设计阶段,经常采用的工具有(A).A,PAD B,SA C,SC D,DFD详细设计的结果基本决定了最终程序的(C)A,代码的规模B,运行速度C,质量D,可维护性使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准.A,程序的内部逻辑B,程序的复杂程度C,该软件的编辑人员D,程序的功能三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.) (ABCD)可以作为模块.A,子程序B,函数C,过程D,编译文件下面哪些测试属于黑盒测试(BCD).A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD).A,货币的时间价值B,投资回收期C,收入D,投资回报率软件维护的策略包括(BCD).A,定期检测维护B,改正性维护C,适应性维护D,完善性维护下列属于软件测试过程的是(ABE).A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试四,简答题(每题6分,共24分)耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱请举例说明什么是多态,什么是重载答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.例: public class A{int age;String name;public void setValue(int i) {age=i; }public void setValue(String s) {name=s; }什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量. 面向对象的测试和传统开发方法的测试有什么不同答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.五,分析应用题(20分)求一组数组中的最大数, 数组表示为A(n) ,n=1,2……n的自然数.(10分)请画出程序流程图(4分)请画出该算法的N-S图(3分)请用PAD图来表示该算法(3分)答案:2. 下面是某程序的流程图:(10分)计算它的环路复杂性.(3分) 答案:7为了完成基本路径测试,求它的一组独立的路径.(7分)答案:路径1: (0)—①—(13)—(19)路径2: (0)—②—③—(14)—(19)路径3: (0)—②—④—⑤—(15)—(19)路径4: (0)—②—④—⑥—⑦—(16)—(19)路径5: (0)—②—④—⑥—⑧—⑨—(17)—(19)路径6: (0)—②—④—⑥—⑧—⑩—(11)—(18)—(19)路径7: (0)—②—④—⑥—⑧—⑩—(12)—(19)六,阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内.(12分) [说明]某基于微处理器的住宅安全系统,使用传感器(如红外探头,摄像头等)来检测各种意外情况,如非法进入, 火警,水灾等.房主可以在安装该系统时配置安全监控设备(如传感器,显示器,报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互.在安装过程中,系统给每个传感器赋予一个编号(即id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码.当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息.加工4的细化图[问题1](3分)数据流图1(住宅安全系统顶层图)中的A和B分别是什么答案:A:传感器: B:报警器[问题2](3分)数据流图2(住宅安全系统第0层DFD图)中的数据存储"配置信息"会影响图中的哪些加工答案:监控传感器,显示信息和状态[问题3](6分)将数据流图3(加工4的细化图)中的数据流补充完整,并指明加工名称,数据流的方向(输入/输出)和数据流名称.答案: 4.4"读传感器"添加输入数据流"传感器状态"4.1"显示格式"添加输出数据流"传感器数据"4.5"拨号"添加输出数据流"电话拨号"七,请以自己的实际体会说明项目管理的意义和作用.(8分)答案:(要点)软件项目管理就是对软件工程项目开发过程的管理.具体地说,就是对整个软件生存期的一切活动进行管理,以达到提高生产率,改善产品质量的目的.软件项目管理的职能:(1)制定计划:规定待完成的任务,要求,资源,人力和进度等.(2)建立项目组织:为实施计划,保证任务的完成,需要建立分工明确的责任机构.(3)配备人员:任用各种层次的技术人员和管理人员.(4)指导:鼓励和动员软件人员完成所分配的任务.(5)检验:对照计划或标准监督检查实施的情况.。
软件工程导论真题与答案
试卷代号:2073中央广播电视大学2003—2004学年度第二学期“开放专科”期末考试计算机专业软件工程试题2004年7月一、填空题(在横线上填写正确的答案,每空1分,共25分)1.软件工程是从——和——两个方面研究如何更好的开发和维护计算机软件的一门学科。
2.软件开发技术包括软件开发方法学、——和——。
3.优秀的设计通常是从现有的物理系统出发,导出现有系统的——。
4.结构化分析方法使用数据流图DFD和——来描述。
5.在分层的数据流图中,称上层图为下层图的——,下层图为上层图的——。
6.模块间的耦合程度强烈影响系统的可.理解性、——、可靠性和——。
7.Jackson图既可用表达程序结构,也可用表达——。
8.程序的控制结构一般采用——、——、——三种构成,这样可确保结构比较简单。
9.面向对象的软件工程方法是面向对象方法在软件:工程领域的全面运用。
它包括面向对象的分析、——、——、面向对象的测试和——等主要内容。
10.标准建模语言UML的重要内容可以通过——、——、行为图、——和实现图等图来定义。
11.程序的效率是指——和——。
12.实现容错的主要手段是冗余和——。
13.为了保证软件的质量,在软件开发过程中经常采取——、复查和管理复查——等措施。
二、单项选择题(将一个正确的答案代码填入括号中,每小题2分,10分)1.下列关于瀑布模型的描述正确的是( )。
A.利用瀑布模型,如果发现问题修改的代价很低B,.瀑布模型的核心是按照软件开发的时间顺序将问题简化C.瀑布模型具有良好的灵活性E.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开2.总体设计的目的是确定整个系统的( )。
A.规模B,功能及模块结构C.费用O测试方案3.下列哪个图不是N—S图的构件( )。
4,下列各方法中( )不是软件测试方法。
A.白盒法B,黑盒法C。
动态测试D。
盒法5.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。
软件工程导论试题答案
第一章4.什么是软件工程?它与软件工程方法学有何关系?软件过程是为了开发高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件过程定义了运用技术方法的顺序,应该交付的文档资料,为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。
软件过程是软件工程方法学的3个重要组成部分之一。
2、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果要求精确到小数点后4位。
一旦实现并测试完成后,该产品将被抛弃。
你打算选用哪种软件生命周期模型?说明你做出选择的理由。
该软件的要求很明确,实现开平方算法的功能也很成熟,因此既无需通过原型来分析需求也无需用原型来验证设计方法。
此外,一旦实现并测试完成后,该产品将被抛弃,因此无需使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。
综上所述,为了开发这个软件,使用瀑布模型就可以了。
8.假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本的开发。
由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。
你打算采用哪种软件生命周期模型?为什么?答:对这个项目的一个重要要求是,严格按照已对外公布的日期完成产品开发工作,因此,选择生命周期模型时应该着重考虑哪种模型有助于加快产品开发的进度。
使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。
这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得出三点结论:第一,旧版本想当于一个原型,通过收集用户对旧版本的反应,较容易确定对新版本的需求,没有必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师对子处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版本字处理软件所需要的技术水平;第三,该软件收到广大用户的喜爱,今后很可能还要开发更新版本,因此,应该把该软件的体系结构设计成开放式,以利于今后的改进和扩充。
软件工程导论_习题及答案
软件⼯程导论_习题及答案第⼀章软件⼯程概论1.什么是软件⽣存周期?软件⽣存周期是指从软件定义、开发、使⽤、维护到淘汰的全过程。
2.软件⽣存周期为什么划分成阶段?(1) 任何⼀个阶段的具体任务不仅独⽴,⽽且简单,便于不同⼈员分⼯协作,从⽽降低整个软件开发⼯作的困难程度。
(2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于⼯程的组织管理,也便于采⽤良好的技术⽅法。
(3) 使软件开发的全过程以⼀种有条不紊的⽅式进⾏,保证软件的质量,特别是提⾼了软件的可维护性。
3.应该怎样来划分阶段?(1)每⼀个阶段的任务尽可能独⽴;(2)同⼀阶段内的任务性质尽可能相同;(3)每⼀个阶段任务的开始和结束有严格的标准。
4.软件开发模型有⼏种?它们的开发⽅法有可特点?软件开发模型有瀑布型、渐增型和变换型。
瀑布型开发⽅法是按照软件⽣存周期的划分依次实施,每⼀个阶段有明确规定的任务。
它的特点:(1)各个阶段的顺序性和依赖性;(2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现;(3)每个阶段必须完成规定的⽂档,对其中问题通过复审及早发现,及早解决。
渐增型开发⽅法及特点:(1) 从部分需求出发,先建⽴⼀个不完全的系统,通过测试运⾏该系统取得经验和信息反馈,加深对软件需求的理解,进⼀步使系统扩充和完善。
如此反复,直⾄软件⼈员和⽤户对所设计完成的软件系统满意为⽌。
(2) 在渐增型开发下的软件是随软件开发的过程⽽逐渐形成的。
(3) 渐增型开发⽅法适合于知识型软件的开发,设计系统时对⽤户需求的认识开始不是很清楚的,需要在开发过程中不断认识、不断获得新的知识去丰富和完善系统。
多数研究性质的试验软件,⼀般采⽤此⽅法。
变换型开发⽅法及特点:(1)从软件需求的形式化规格说明出发,经过⼀系列的程序变换,得到最终的程序系统。
(2)该⽅法必须有严格的数学理论和形式化技术的⽀持。
5.什么是软件⼯程?软件⼯程是指导计算机软件开发和维护的⼯程学科。
[全]张海藩《软件工程导论》第6版配套考研真题详解
张海藩《软件工程导论》第6版配套考研真题详解1软件工程是采用()的概念、原理、技术方法指导计算机程序设计的工程学科。
[中国传媒大学2014研]A.工程B.系统工程C.体系结构D.结构化设计【答案】A查看答案【解析】软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,从而经济地开发出高质量的软件,并且进行有效的维护。
2随着开发小组人数的(),因交流开发进展情况和讨论遇到的问题而造成的通信开销也急剧增加。
[中国传媒大学2014研]A.增加B.降低C.稳定D.不稳定【答案】A查看答案【解析】当开发小组变得更大时,即开发小组人数增加时,每个人需要用更多时间与组内其他成员讨论问题、协调工作,因此,通信开销也随之增加。
3软件质量必须在()加以保证。
[中国传媒大学2014研]A.开发之前B.开发之后C.可行性研究过程中D.分析、设计与实现过程中【答案】D查看答案【解析】保证软件质量的措施包括基于非执行的测试、基于执行的测试、程序正确性证明,这些措施贯穿于软件开发的分析、设计和实现的过程中。
4包含风险分析的软件工程模型是()。
[中国传媒大学2014研]A.螺旋模型B.瀑布模型C.增量模型D.喷泉模型【答案】A查看答案【解析】螺旋模型的基本思想是使用原型及其他方法来尽量降低风险。
可以把它看作在每个阶段之前都增加了风险分析过程的快速原型模型,它是风险驱动的软件工程模型。
5模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的()。
[中国传媒大学2014研]A.抽象和信息隐藏B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法【答案】C查看答案【解析】开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立。
模块的独立性的度量标准是模块的耦合性和内聚性,内聚性越高模块独立性越强,耦合性越低模块独立性越下,因此,在设计软件时,应尽量做到高内聚、低耦合。
《软件工程导论》试题与答案
《软件工程导论》试题与答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格说明B. 软件设计和实现C. 软件测试和验证D. 软件维护答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 软件开发过程中,以下哪个阶段的主要任务是需求分析?A. 需求获取B. 设计C. 编码D. 测试答案:A4. 在软件工程中,以下哪个方法主要用于软件项目管理?A. 水平迭代法B. 垂直迭代法C. 敏捷开发D. 模块化设计答案:C5. 以下哪个工具用于软件需求跟踪?A. 用例图B. 类图C. 时序图D. 状态图答案:A二、填空题(每题2分,共20分)6. 软件工程的基本目标是提高软件的______和降低软件的______。
答案:可维护性,成本7. 软件开发过程主要包括______、______、______、______四个阶段。
答案:需求分析、设计、编码、测试8. 软件设计中,常用的设计模式有______、______、______等。
答案:工厂方法、单例、策略9. 软件测试的目的是______、______和______。
答案:发现错误、验证软件功能、评估软件质量10. 敏捷开发的核心价值观包括______、______、______、______、______。
答案:个体和团队、可工作的软件、客户合作、响应变化、简单性三、判断题(每题2分,共20分)11. 软件工程是计算机科学与工程的一个分支,主要研究软件开发的理论、方法和技术。
(对/错)答案:对12. 软件开发过程中,需求分析阶段的主要任务是获取用户需求。
(对/错)答案:对13. 软件测试的目的是证明软件的正确性。
(对/错)答案:错14. 敏捷开发强调快速迭代、持续交付和客户反馈。
(对/错)答案:对15. 软件工程的基本活动包括软件规格说明、软件设计和实现、软件测试和验证。
(完整word版)软件工程导论第1-2套试题及答案要点
软件工程A卷一、判断题:每小题1分,共15分,在正确的打上√,错误的打上×1.软件工程学只有理论意义,没有实际用途。
()2.软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。
()3.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。
()4.代码审查方法没有计算机测试方法好。
()5.验证软件需求的方法主要靠人工审查的方法。
()6.并发系统中遇到的一个主要问题是定时问题。
()7.编码风格由个人喜好决定,没有固定格式。
()8.面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换。
()9.软件重用是提高软件开发生产率和目标系统质量的重要途径。
()10.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。
()11.Power Designer是一个CASE工具。
()12.软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就是编写程序代码。
()13.在进行需求分析时需同时考虑维护问题。
()14.UML是一种面向对象的分析设计方法,即OOA/OOD方法。
()15.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。
()二、单选题:每题1分,共15分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、有完整的故障处理E、算法的合理性6、软件可行性研究一般不考虑()A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题7、SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用()来描述A、流程图B、判定表C、NS图D、问题分析图PAD8、下列需求陈述中有效需求是()A、目标软件应有C++实现B、软件系统必须在5秒内响应并处理外部事件C、目标软件必须有系统设置模块D、当软件和用户交互时,必须能使用满足MS风格的界面9、在面向对象软件开发方法中,类与类之间主要有以下结构关系()A、继承和聚集B、继承和一般C、聚集和消息传递D、继承和方法调用10、面向对象模型主要由以下哪些模型组成()A、对象模型、动态模型、功能模型B、对象模型、数据模型、功能模型C、数据模型、动态模型、功能模型D、对象模型、动态模型、数据模型11、OOA中应首先识别()A、对象B、类C、对象的属性D、对象所属的类12、概要设计的结果是提供一份()A、模块说明书B、框图C、程序D、系统结构图13、以下语言中属于4GL是()A、PBB、VBC、UMLD、SQL Server 2000中的SQL语言14、与设计测试数据无关的文档是()A、需求分析说明书B、概要设计说明书C、源程序D、项目开发计划15、软件测试中的测试实例主要由输入数据和()组成A、测试规则B、测试计划C、预期输出结果D、以往测试记录分析三、简答题(共20分)1.项目A是为银行开发ATM(自动取款机)软件,项目B是为网络公司开发网络数据流分析软件,请问按照面向数据流设计方法(SD法),两个项目应分别采用何种方法将需求分析的功能模型转换成软件结构,为什么?(6分)2.某保险公司对投保人的汽车保费计算方法如下:单身男,年龄30岁以下(含30岁),计保费标准A,30岁以上计保费标准B;已婚男30岁以下(含30岁),计保费标准C,30岁以上计保费标准D,单身女,年龄25岁以下(含25岁),计保费标准E,25岁以上计保费标准F;已婚女25岁以下(含25岁),计保费标准G,25岁以上计保费标准H,请画出对应的判定树。
软件工程导论作业解析
软件工程导论作业解析软件工程导论作业Chapter11.1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件开发和维护过程中所遇到的一系列的严重问题。
它的典型表现:1.软件开发成本高,成本难以控制。
2.研究周期长,软件开发进度难以控制,周期拖得很长。
3.正确性难以保证,软件质量差,可靠性难以保证。
4.软件维护困难,维护人员和维护费用不断增长。
5.软件发展跟不上硬件的发展和用户的要求。
它出现的原因一方面是由于软件生产本身存在着复杂性,另一方面是与软件开发所使用的方法和技术有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发工程相当困难,软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业技术人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成为软件危机的主要原因。
1.2 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是将系统化的,规范化的,可度量的方法应用于软件开发,运行和维护的过程,即将工程化应用于软件中。
它的本质特性:1.软件工程关注于大型程序的构造2.软件工程的中心课题是控制复杂性3.软件经常化4.开发软件的效率非常重要5.和谐地合作是开发软件的关键6.软件必须有效地支持它的用户7.在软件工程领域中是由一种文化背景的人替具有另一种文化背景的人创造产品。
基本原理: 1.用分阶段的生命周期计划严格管理2.坚持进行阶段评审3.实行严格的产品控制4.采用现代程序设计的技术5.结果应能清楚地审查6.开发小组的人员应该少而精7.承认不断改进软件工程实践的必要性。
1.3 什么是软件?它有什么特点?答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据结构及其相关文档的完整集合。
它的特点是:1.抽象而非具体2.开发而非制造3.退化而非磨损4.定制而非基于构件 5.不可见 6.复杂 7.易改变 8.易复制1.4 什么是软件过程?它与软件工程方法学有何关系?答:软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件工程导论复习题及答案详解
第一章一、名称解释1.软件2.文档3.软件工程4.软件生存周期5.软件工程过程6.软件生存周期模型7.软件开发方法8.软件工具二、填空题1.构成一个完整计算机系统的两部分是硬件与________。
2.程序设计时代的生产方式是________。
3.软件工程涉及到几个学科,它是一门_____学科。
4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能________。
5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是________模型。
6.喷泉模型是一种以用户需求为动力,以_______为驱动的模型。
7.结构化方法是一种面向数据流的开发方法。
由结构化分析、_______、结构化程序设计构成。
8.软件工程研究的主要内容是软件开发管理和_______两个方面。
9.软件工具是支持软件开发人员的开发和维护活动而使用的________。
10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种________,使用相应的工具来进行。
三、选择题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.1/2B.1/3C.1/4D.2/37.软件开发中大约要付出( )%的工作量进行测试和排错。
A.20B.30C.40D.508.准确地解决“软件系统必须做什么”是( )阶段的任务。
A.可行性研究B.需求分析C.详细设计D.编码9.软件生存周期中最长的是( )阶段。
A.需求分析B.概要设计C.测试D.维护四、简答题1.软件产品的特性是什么?2.软件生产有几个阶段?各有何特征?3.什么是软件危机?产生的原因是什么?4.软件工程的性质、目标和内容是什么?5.软件工程面临的问题是什么?6.软件工程过程有哪些过程?7.软件生存周期有哪几个阶段?8.软件生存周期模型有哪些主要模型?9.有哪些主要软件开发方法?参考答案二填空题1.软件 2.个体手工劳动3.综合性交叉 4.相同5.瀑布 6.对象7.结构化设计8.软件开发技术9.软件10.开发方法三、选择题1.B 2.D 3.A 4.C5.A 6.B 7.C 8.B 9.D第二章一、名称解释1.可行性研究2.技术可行性3.经济可行性4.社会可行性5.货币时间价值6.投资回收期7.纯收入8.系统流程图二、填空题1.可行性研究的目的是用最小的代价,在尽可能短的时间内,确定________。
软件工程导论大题带答案
需求分析阶段1.某宾馆的电话服务如下:可以拨分机号和外线号,分机号从8201到8299,拨外线需要先按0,然后是市话号码或长话号码,长话号码是由区号和市话号码组成的,区号是从000~300中任意的数字串,市话号码是由局号和分局号组成的,局号可以是455,325,999中任意一个号码,分局号是任意长度为4的数字串,请写出在数据字典中电话号码的数据条目的定义及组成。
电话号码=[分机号|外线号码]分机号=8202..8299外线号码=数字零+[市话号码|长话号码]数字零=0市话号码=局号+分局号局号=[455|325|999]分局号=4位数字串4位数字串=4{数字}4数字=0..9长话号码=区号+市话号码区号=000..3002.自学考试报名过程中有个“记录报名单”的加工,该加工主要是根据报名表(姓名、性别、身份证号、课程号)和开考课程(课程号、开考时间),经校核及编号后输出准考证(准考证号、姓名、课程)给报名者同时记录到考生名册中。
请用数据流图描绘该功能的需求并建立相应的数据字典完成数据定义。
报名表=姓名+性别+身份证号+课程号开考课程=课程号+开考时间准考证=准考证号+姓名+课程总体设计阶段1.将下图中的变换型数据流图换成软件结构图,要求写出必要的分析说明。
2.工资管理系统中的一个子系统有如下功能:⑴根据基本工资计算应扣除(例如水电气费等)的部分;⑵根据职工的出勤情况计算奖金部分;⑶根据输入的扣除额及奖金计算工资总额部分;⑷根据工资总额计算应扣除税金部分;⑸根据计算总额部分和计算税金部分所得到的有关职工工资的评测信息生成工资表试根据需求画出该问题。
详细设计阶段1.某航空公司规定,乘客可以免费托运不超过20公斤的行李,当行李重量超过20公斤时,对头等舱的乘客超重部分每公斤收取4元,其他舱的乘客收费6元,对残疾乘客超重部分在舱位等次相同的情况下收费减半,用判定表描述行李托运费的处理过程。
2.画出下列程序的程序流程图及盒图PROCEDURE EX(A,B:REAL;V AR X:REAL) BEGINIF (A=3)OR(B>1) THEN X:A*BIF (A>2)AND(B=0) THEN X:A-3END。
软件工程导论题型大总结
软件工程导论题型大总结摘要:一、引言1.软件工程导论的重要性2.题型总结的目的和意义二、软件工程基本概念1.软件定义与分类2.软件生命周期3.软件开发方法论三、软件需求分析与规划1.需求分析方法2.需求文档编写3.软件规格与设计四、软件开发过程1.瀑布模型2.增量模型3.螺旋模型4.敏捷开发五、软件测试与维护1.测试策略与方法2.测试文档编写3.软件维护类型与策略六、软件项目管理1.项目计划与管理2.项目团队与沟通3.风险管理七、软件工程案例分析1.成功案例分析2.失败案例分析3.案例启示八、软件工程发展趋势1.面向对象技术2.云计算与大数据3.人工智能与机器学习九、结论1.软件工程导论的重要性2.掌握题型对学习软件工程的帮助正文:软件工程导论是计算机专业中的一门基础课程,它涵盖了软件开发的全过程,从软件需求分析、设计、编码、测试到项目管理等方面。
掌握软件工程导论的知识点对学习者来说至关重要。
本文将对软件工程导论的题型进行大总结,以帮助读者更好地理解和应用所学知识。
一、引言软件工程导论在计算机科学与技术领域具有举足轻重的地位。
它不仅使学习者了解软件开发的基本概念、方法和过程,还为后续专业课程打下坚实基础。
题型总结有助于巩固软件工程导论中的重点知识,提高学习效果。
二、软件工程基本概念1.软件定义与分类:软件是计算机程序、数据及其相关文档的集合。
根据功能,软件可分为应用软件、系统软件和工具软件等。
2.软件生命周期:软件从需求分析、设计、编码、测试到运维的过程称为软件生命周期。
了解生命周期有助于合理安排软件开发工作。
3.软件开发方法论:常见的软件开发方法有结构化开发、面向对象开发、敏捷开发等。
选择合适的开发方法有助于提高软件质量。
三、软件需求分析与规划1.需求分析方法:需求分析是软件开发的第一步。
常见的方法有访谈、问卷调查、原型法等。
2.需求文档编写:需求文档应包括功能需求、性能需求、界面需求等,以便为开发团队提供清晰指导。
软件工程导论试题分析
软件工程导论试题(老师给的)一.选择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、测试阶段二.填空21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。
软件工程考试题(卷)与答案解析
《软件工程导论》测试题(参考答案)(本试卷答卷时间为60分钟)学号:______________ 组别:____________、选择(每题2分,共20 分)1 .瀑布模型的存在冋题是( B )A .用户容易参与开发B .缺乏灵活性C .用户与开发者易沟通D .适用可变需求2 .程序的三种基本控制结构是( B )A .过程、子程序和分程序B .顺序、选择和重复C .递归、堆栈和队列D .调用、返回和转移3 .在详细设计阶段,经常采用的工具有( A )A. PADB. SAC. SC4 .详细设计的结果基本决定了最终程序的( C )A. 代码的规模 B .运行速度C.质量5. 结构化程序设计主要强调的是( D )A. 程序的规模D . DFDD .可维护性B. 程序的效率C. 程序设计语言的先进性D. 程序易读性6 .需求分析阶段的任务是确定( D )A. 软件开发方法B. 软件开发工具C. 软件开发费D . 软件系统的功能7.在E-R模型中,包含以下基本成分(C )。
A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作8 .设函数C (X)定义问题X的复杂程序,函数E ( X)确定解决问题X需要的工作量(时间)。
对于两个问题P1和P2,如果C (P1 ) >C ( P2)显然E (P1 ) >E ( P2),则得出结论 E( P1+P2 ) >E ( P1 ) +E ( P2)就是:( A )A .模块化的根据B .逐步求精的根据C.抽象的根据 D •信息隐藏和局部化的根据9 .面向数据流的设计方法把( D )映射成软件结构。
A •数据流B •系统结构C •控制结构D .信息流10.聚程度最低的是( A )聚A.偶然B.过程C.顺序D.时间、填空题(每空2分,共8分)。
1 .软件结构是以—模块为基础而组成的一种控制层次结构。
2 .在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、定树。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程导论试题(老师给的)一.选择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、测试阶段二.填空21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。
22.成本效益分析的目的是从( )角度评价开发一个项目是否可行。
23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和() 。
24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条( )的边的路径。
25.汇编语言是面向( ) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
26.在JSP方法中解决结构冲突的具体办法是()。
27.详细设计的任务是确定每个模块的内部特性,即模块的算法、( )。
28.所有软件维护申请报告要按规定方式提出,该报告也称( )报告。
29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的()技术。
30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:()、PASCAL语言、C语言和PL/1语言。
三.判断1.软件的开发与运行经常受到硬件的限制和制约。
( )2.模块内的高内聚往往意味着模块间的松耦合。
( )3.Jackson图只能表达程序结构,不能表达数据结构。
( )上述数据流图表示数据A和B同时输入变换成C。
( )5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。
( )6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。
( )7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。
( ) 8.UML只能应用于软件系统模型的建立。
( )9.容错就是每个程序采用两种不同的算法编写。
( )10.软件测试的目的是为了无一遗漏的找出所有的错误。
( )四、名词解释题(本大题共5小题,每小题3分,共15分)31.软件开发环境32.错误推测法33.黑盒测试法34.软件质量保证35.瀑布模型五、图a 中,模块G 为判定,判断涉及到模块B、F、G,请指出设计中的错误,再根据改进模块图的基本原则,画出1~2 个改进方案(不改变模块G 的判断关系),并说明是按照哪条基本原则进行改进的。
40.请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。
41.根据下列条件使用等价类划分法设计测试用例。
某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-06542.某电器集团公司下属的厂包括技术科、生产科等基层单位。
现在想建立一个计算机辅助企业管理系统,其中:生产科的任务是:(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。
(2)根据车间实际生产日报表、周报表调整月生产计划(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。
(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间技术科的任务是:(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。
(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。
试写出以上系统中生产科和技术科处理的软件结构图。
2009—2010学年第二学期期末考试试题1. 软件危机具有下列表现()。
I. 对软件开发成本估计不准确 II. 软件产品的质量往往靠不住III. 软件常常不可维护IV. 软件成本逐年上升A. I、II和IIIB. I、III和IVC. II、III和IVD. 以上都正确2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是()。
A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段3. 下列属于软件的特点的是()。
A. 软件是一种逻辑实体,具有抽象性B. 软件在使用过程中没有磨损、老化的问题C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高D. 以上都正确4. 软件工程的出现是由于()。
A. 软件危机的出现B. 计算机硬件技术的发展C. 软件社会化的需要D. 计算机软件技术的发展5. 软件开发技术不包含()。
A. 软件开发方法学B. 软件工程环境C. 软件工具D. 软件质量度度量6. 软件工程的课程特点()。
I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强A. I、II和IIIB. I、III和IVC. II、III和IVD. 以上都正确7. 下列属于应用软件的是()。
I. 计算机辅助教学软件 II. 软件测试工具 III. 办公自动化软件 IV. 工程与科学计算软件A. I、II和IIIB. I、III和IVC. II、III和IVD. 以上都正确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. 环境 B. 内容 C. 控制 D. 数据14. 内聚程度较低的是()内聚。
A. 偶然 B. 通讯 C. 顺序 D. 时间15. 对一个程序来说,组成系统的模块数目(),则开发成本越小。
A. 越多B. 越少C. 顺序D. 时间16. 画软件结构图时应注意调用关系只能是()。
A. 从下到上B. 从上到下C. 从左到右D. 从右到左17. 程序流程图中的“→”代表()。
A. 数据流B. 控制流C. 顺序流D. 调用18. DFD中的“→”代表()。
A. 数据流B. 文件C. 处理D. 控制流19. DFD中的“○”代表()。
A. 数据流B. 文件C. 处理D. 控制流20. DFD中的“_”代表()。
A. 数据流B. 文件C. 处理D. 控制流1.计算机软件不仅仅是程序,还应该有一整套。
2.传统的软件生存期模型是。
3.软件按照功能的不同可以划分为3大类型、和。
4.DFD在软件工程中表示。
5.与是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到内聚、耦合,提高模块的,为设计高质量的软件结构奠定基础。
6.数据流图有四种基本成分:、、、。
7.12. 数据字典有以下四类条目:、、、。
是组成数据流和数据存储的最小元素。
8.某厂对部分职工重新分配工作的政策是:年龄有20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄有20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度者当技术员;年龄有40岁以上者,中学文化程度当材料员,大学文化程度当技术员。
请用结构化语言、判定表或判定树描述上述问题的加工逻辑。
一、单项选择题1. D2. A3. D4. D5. D6. D7. B8. B9. C 10. C11. B12. B13. B14. A15. C16. B17. B18. A 19.C20. B二、填空题1. 文档2. 瀑布模型3. 系统软件支持软件应用软件4. 数据流图5. 耦合性内聚性高低独立性6. 数据流加工(又称为数据处理)文件数据的源点或终点7. 数据流数据项文件基本加工数据项三、简答题答:(1)结构化语言。
IF 年龄<20THEN IF 文化程度=初中THEN 脱产学习ELSE 工作为电工ENDIFELSE IF 年龄≤40THEN IF (文化程度=大学)THEN 工作为技术员ELSE IF 性别=男性THEN 工作为钳工ELSE 工作为车工ENDIFENDIFELSE IF (文化程度=大学)THEN 工作为技术员ELSE 工作为材料员ENDIFENDIFENDIF(2)判定树如下:单项选择题(每小题1分,共10分)在结构性的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A )(A)需求分析阶段(B)详细设计阶段(C)概要设计阶段(D)可行性研究阶段软件工程方法中普遍定义的方法之一是结构化生命周期方法(SLC方法),下述哪一个论述不具有SLC方法的主要特征( C ) A 严格定义需求 B 划分开发阶段 C 规范文档格式 D 分析控制流程软件结构中两个模块之间有调用关系,传递简单数据值,相当于高级语言中的值传递,这两个模块之间的耦合是( D )(A)公共耦合(B)控制耦合(C)标记耦合(D)数据耦合软件维护的四类维护活动是( A )(A)改正性维护,适应性维护,完善性维护和预防性维护。