ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:220KB ,
资源ID:22647405      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22647405.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程第五版习题及解答Word下载.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程第五版习题及解答Word下载.docx

1、软件开发费用不超过 X 万元。5初步设想 :建议在系统中完成安排航班、打印取票通知、打印票务账单、打印机票等主 要功能。6可行性研究 :建议进行大约 X 周的可行性研究,研究费用不超过 X 元。(2)可行性分析 技术可行性:使用现有的技术能够实现此系统,在现有资源(包括硬件资源、软件资源、 技术人员的技术水平和已有的工作基础)条件下,技术风险不大,项目可以实现。经济可行性:此系统能够方便旅客订票,具有一定的经济效益和社会效益。 法律可行性:此项目开发要符合航运系统相关要求。 操作可行性:现有制度、人员素质、操作方式可行。(3)系统流程图第3章、判断题1-5 BACDB 6-10 ABDAA 1

2、1-15 BABDB 16-20 ADCDB1、需求分析的基本任务是要准确地理解旧系统、定义新系统的目标,为了满足用户需要,回 答“系统必须做什么”的问题,即确定系统必须完成哪些工作,对新系统提出完整、准确、清 晰、具体的要求。具体任务是 : 明确问题定义、导出软件的逻辑模型、编写软件需求规格说明书。 “做什么”,即深入描述软件的功能和性能, 确定软件设计的限制和软件与其他系统元素的 接口细节,定义软件的其他有效性需求。“怎么做”,即着手软件需求的实现: 用比较抽象概括的方式确定目标系统如何完成预定的任务, 确定系统的物理模型。2、建立目标系统逻辑模型的一般过程:( 1)由当前物理系统导出当前

3、系统物理模型 ;( 2)由当前系统物理模型,导出当前系统逻辑模型 ;3)参考当前系统逻辑模型,设想出新系统逻辑模型。3、数据流图是用于表示系统逻辑模型的一种工具。它从数据传递和加工的角度,以图形的方 式描述数据在系统中流动和处理过程。 它表示了系统内部信息的流向以及系统的逻辑处理功能。 数据流图的主要成分有四种:数据流、数据存储、加工、数据流的源点和终点。4、数据词典是数据的集合,它对数据流图中的各个元素作完整的定义和说明,是数据流图的 补充工具。数据流图和数据词典共同构成系统的逻辑模型,两者缺一不可。其内容包括:数据流、数据项、数据结构、数据存储、加工逻辑、外部实体 6 类元素。四、应用题1

4、、“学生管理系统”的顶层图和 0 层图。顶层图 :0 层图 :学生档案 = 学号 +姓名 +性别 +年龄+专业 +班级 成绩库 =学号+课程号 +分数课程库 = 课程号 +课程名 +学分学生信息 =学号+姓名+性别+年龄 +专业+班级 考试成绩 =学号+课程号 +分数学号 = ”00001”.”99999”姓名=2 汉字4专业 = ”01”.”99” 注:专业代号 2 位数字 班级=”01”.”99” 注:班级代号 2 位数字 学分 =0.992、数据流图如下:3、0 层图:0 层图判定表如下:设:性别: 男 :M女:F学历 初中 :A高中 B 大专 :C年龄小于 25: C25 至 40:Y

5、 40 以上 :L123456789101112131415161718BY脱产 学习X电工技术员修理工钳工车工清洁工化简后的判定表7-916-18-脱产学 习判定树 :年龄 学历 性别男男 - 修理工 女 - 清洁工男 钳工女 车工男 - 钳工女 - 车工 技术员 脱产学习 电工 技术员结构化语言:IF 年龄 40 THENSWITCH (学历) CASE :“初中”IF 性别为“男” THEN 做修理工ELSE 做清洁工CASE :“高中”IF 性别为“男” THEN 做修理工 ELSE 做清洁工 CASE :“大专” 做技术员ELSE IF 年龄 =25 且 年龄 40 THEN SWI

6、TCH (学历) CASE :IF 性别为“男” THEN 做钳工 ELSE 做车工IF 性别为“男” THEN 做钳工ELSE 做车工“大专”做技术员ELSESWITCH (学历) CASE : “初中” 脱产学习“高中” 做电工 “大专” 做技术员 5、国内N重量H运费(元)6W6.5(W-20)+1202412W13(W-20)+240判定表注:设重量为 W( 单位为 Kg)重量2Kg 且重量20Kg ,分别用 L、M、H表示重量 2Kg 且20Kg国际 重量 12 元6W 元24 元12W 元 13(W-20)+2406、设汇款金额为汇额200 且 =5000 元5000 W 元。判定

7、树如下: 本埠 /外埠汇费2元 W*0.01 元 50 元汇额(元)本埠汇费(元)W*0.0150三种汇额分别用符号M 、 H 表示,汇款额用 W 表示。L、可简化为:第41 2 3 6 7 8 1-5 CBCDB 6-10 DACCA 11-15 CABDC1、软件设计中一般应遵循以下原则:模块化、抽象、信息隐蔽与局部化、一致性、完整性和可 验证性。2、总体设计又称概要设计,是将软件需求转化为软件体系结构、确定系统级接口、全局数据结 构和数据库模式。3、(1) 模块功能的完善化 (2) 消除重复功能, 改善软件结构 ( 3)模块规模应该适中 (4) 模块的深度、宽度、扇出和扇入都应适当( 5

8、)模块的作用范围应该在控制范围之内( 6)力争降低模块接口的复杂程度( 7)设计单入口、单出口的模块( 9)模块功能应该可以预测1、模块 A 和 B 是数据耦合,模块 B 是功能内聚。2、模块 A 和 B 是控制耦合,模块 B 是逻辑内聚。1 2 3 4 5 1-5 ACACA1、( 1)算法设计( 2)数据结构设计( 3)模块接口细节设计( 4) 测试用例设计( 5)数据库 物理设计 ( 6) 数据代码设计( 7) 其他设计( 8)编写详细设计说明书并进行评审。 2、在设计数据输入界面时应做到:尽量简化用户的工作、减少输入的出错率;减轻用户的记 忆负担、尽可能减少输入量并实现自动输入; 对共

9、同的输入设置默认值; 使用代码或缩写; 自 动填入已输入过的内容;列表式输入 ; 数据分组输入。3、代码设计的原则是标准化、唯一性、可扩充性、简单性、规范性和适应性。(1)求整数 1-n 的累加和 SUM ,其中 n 的值由键盘输入。 PAD 图如下2)求整型数组 K50 中的最大值和次大值。 N-S 图如下:定义数组 k50 fst = k0 , sed =k1I=3当 ifstscdscd = fst fst=kiScd=kiI=i+1 输出 fst,scd3)求 s=1- 1/2!+1/3!-1/4! + . +1/n! ,其中 n 的值由键盘输入。 PAD 图如下:输入 N3将程序流程

10、图转化为 PAD 图(1)当P直到 O结束2)4)(5)对于分支结构if(f)a;else b;只使用顺序和循环结构的 PAD 图如下:第6章一、选择题1-5 CBDDA 6-10 CADDA 10-15 CAACC二、简答题1.简要介绍用例图的三个要素。用例图主要包括以下三个元素:1用例( Use Case):用例是系统的使用过程或要执行的动作序列,用来描述某个参与者使 用系统所完成的功能。在图中用椭圆来表示,用例名称可写在椭圆中或椭圆下面。2参与者( Actor )。或称角色或执行者,它是系统外部的一个实体(可以是任何的事物或 人所扮演的角色等) 。在图中用一个小人图形表示。3关联。表示角

11、色与用例之间的驱动和反馈关系,也可以表示用例间的包含与扩展关系。 在图中用线段或带箭头的线段表示。2.分别写出 UML 对象图中对象的三种表示方式。在 UML 中,对象图和类图一样采用矩形图示,不过对象名称下方有下划线(类名称下方 没有下划线) ,通常对象名采用:对象名:类名、 :类名 或 对象名三种格式表示,中间形式 是尚未给对象命名,最后一种形式是省略了类名。3.举例说明类图和对象图之间的关系。 对象图展示了一组对象和它们之间的关系。对象图是类图的实例,对象之间的连接 是类之间关联的实例。类图和对象图的不同点在于对象图显示类的多个对象实例,而不 是实际的类。4.活动图的主要作用是什么,状态

12、图的主要作用是什么? 状态图和活动图都属于行为图,主要用于分析、设计阶段描述对象的行为。状态图适于描 述单个对象状态的变化情况,活动图适于描述一个工作过程、多个对象之间的合作。 状态图描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转 移。活动图 (Activity Diagram) 是状态图的变种。 状态图适于描述单个对象状态的变化情况, 而活 动图的目的是描述动作 (执行的工作和活动) ,以及对象状态改变的结果, 适于描述一个工作过 程、多个对象之间的合作。与状态图不同的是,活动图中动作状态的迁移不是靠事件触发,当 动作状态中的活动完成时就触发迁移,活动图中的一个活动结

13、束后将立即进行下一个活动。三、应用题略。1-5 BDCAC 6-10 CAACA 1 CCBAD二、 简答题1、面向对象分析通常要建立哪三种模型?它们分别描述系统的哪些方面? 面向对象分析通常要建立三种模型,分别是对象模型、动态模型和功能模型。其中: 对象模型描述系统的数据结构,它是用来描述系统包含的对象及对象之间关系的模型; 动态模型描述系统的控制结构, 它是用来确定各个对象之间交互及整体的控制结构的模型; 功能模型描述系统的功能,它是用来描述系统要实现的功能的模型。2、对象模型有哪五种层次?复杂问题 (大型系统 )的对象模型由 5 个层次组成,即主题层、类 - -对象层、结构层、属 性层和

14、服务层。( 1)类-&- 对象层:定义类和属性。在这个层次将分析与待开发软件对应的各个现实世界 的实体,并从中抽象出类和对象。( 2)结构层:定义对象和类之间的层次结构关系,如一般 - 特殊结构(即继承结构) 、整体- 部分结构(即组合结构) 。( 3)属性层: 定义属性。 为类和对象层中抽取出来的各个类和对象设计静态属性和它们之 间的关系。(4)服务层:定义对象和类的动态属性以及对象之间的消息通信。(5)主题层:主题是指导读者理解大型、复杂模型的一种机制。定义若干个主题,把有关 的对象分别划归不同的主题,每个主题构成一个子系统。3、建立对象模型的基本过程是什么?建立对象模型的基本过程如下:1

15、、第一代语言(机器语言) 、第二代语言(汇编语言) 、第三代语言(高级语言) 类繁多,又可分为传统的基础语言、结构化语言和专用语言三类。2、1)源程序文档化 2)数据说明 3)语句构造 4)输入与输出 5)效率(1)项目的应用领域。 (2)用户的要求。(3)软件开发工具。 (4)算法和数据结构的复杂性。(5) 软件开发人员的知识。 ( 6) 系统的可移植性要求。1一方面尽量不使用“非”条件;另一方面语句格式不规范。改为:if( x = 0)x = -x;2if ( (i+1) % 10 = = 0)printf( ” %n5”,d *(a+i) ) ;elseprintf( ”%, 5*d(a

16、”+i) ) ;3按编码风格优化后的代码为 程序名称: sumint.c 设计者: 王永涛 日期: 2008 年 4 月 22 日 程序功能:由键盘输入若干个整数,计算它们之和,并打印整数个数及其和# include void main()int count, j=1 printf( “请输入整数个数 scanf(%d,&count);while (j=count)printf( “请输入第 scanf(x); sum=sum+x; j+;printf(%d 个整数的和为 %dn , j, sum); for(i=0;in-1;i+)t=i;for(j=i+1;jn;j+)if(ajat)t=

17、j;if(t!=i) temp=at; at=ai; ai=temp;/*程序名: sumints.c程序功能: 求整数 1n 的累加和 sum,其中 n 的值由键盘输入 */void main( )int i,n,sum=0; printf( “请输入整数个数 nn ” ); for(i=1;=n;i+)scanf( “%d”); /* 输入整数,使用空格、回车或 TAB键分隔 */ sum=sum+i; /* 计算累加 */printf( “ 1%d的累加和 sum=%dn ” ,n,sum);第9章一、判断题 1 21-5 CABAD 6-10 ABACA 11-15 ADDDD1、 软

18、件测试的目的是为了发现软件产品中存在的软件缺陷,进而保证软件产品的质量。软件 测试是软件开发过程中的一个重要阶段,是软件产品正式投入运行前,对软件需求分析、设计 规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试的结果也是分析软件可靠 性的重要依据。在软件测试中,应注意以下指导原则:(1)所有测试都应追溯到需求( 2)坚持“尽早地和不断地进行软件测试” 。(3)测试用例应由输入数据和预期的输出结果两部分组成。(4)程序员应避免测试自己的程序。(5)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。( 6)充分注意测试中的群集现象。(7)严格执行测试计划,排除测试的随意性。(

19、 8)应当对每个测试结果做全面检查。( 9)在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的 事。(10)应长期保留所有测试用例。保留测试用例有助于以后修改程序后的回归测试。2、测试过程分为 4 个步骤,即单元测试、组装测试、确认测试和系统测试。 数据源有:(1)软件配置:包括软件需求规格说明、软件设计规格说明、源代码等。(2)测试配置:包括测试计划、测试用例、测试驱动程序等。(3)测试工具:测试工具为测试的实施提供某种服务,以减轻测试过程中的手工劳动,提 高测试效率。3、黑盒测试法与白盒测试法的根本区别是设计测试用例的方法不同。前者是测试产品的 功能,后者是测试产品

20、的内部结构和处理过程。通过黑盒测试主要发现以下错误:( 1)是否有不正确或遗漏了的功能。(2)界面是否有错,能否正确地接受输入数据,能否产生正确的输出信息。( 3)是否有数据结构或外部数据库访问错误。(4)性能是否满足要求。( 5)是否有初始化或终止性错误。白盒测试法是一种程序级的微观上的测试,不适合于大单元、大系统的测试,主要用于很 小单元的测试,以及从事软件底层工作、生产构件的测试人员使用。4、 软件测试的目的是尽可能多地发现程序中的错误,而调试的目的是根据测试时发现的错 误,找出错误的原因和具体位置,并改正错误。测试与调试的不同如下表所示。测试与调试的不同测试 (test)调试 (deb

21、ug)目的是发现错误目的是找出错误位置并排除有计划被动的以已知条件开始 ,使用预先定义的程序 , 有预知的结果以不可知内部条件开始 , 结果一般不可预见由独立的测试组,在不了解软件设计的条件下完成由程序作者进行, 谁开发的程序就由谁来调试5 、( 1)面向对象的单元测试 面向对象的单元测试是进行面向对象集成测试的基础。 面向对象的单元测试以类或对象为 单位。由于类包含一组不同的操作,并且某些特殊的操作可能被多个类共享,因此,单元测试 不能孤立地测试某个操作,而是将操作作为类的一部分来测试。(2)面向对象的集成测试 因为在面向对象的软件中没有层次的控制结构, 并且构成类的成分彼此之间存在着直接或 间接的交互作用,所以,传统意义上的自顶向下和自底向上的集成策略将不再适用。(3)面向对象的确认测试 在确认测试层次,不需要再考虑类的实现和交互的具体细节,只要验证交互过程及功能, 包括提供的用户界面,用户可见的操作,软件的反

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1