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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

课后习题答案.docx

1、课后习题答案第一章 1第二章 2第三章 3第四章 5第五章 6第六章 8第七章 9第八章 10第九章 10课后习题答案第一章 项目的市场调研习 题1.选择题(1)软件是计算机系统中与硬件相互依存的另一部分,它包括文档、数据和( )。 A. 数据 B. 软件 C. 文档 D. 程序(2)软件工程是一门研究如何用系统化、( )、可度量化等工程原则和方法去进行指导软件开发和维护的学科。A.规范化 B.标准化 C.抽象化 D.简单化(3)软件工程的出现主要是由于( )。A.方法学的影响 B.软件危机的出现C.其他工程学科的发展 D.计算机的发展(4)可行性研究主要包括经济可行性、技术可行性、法律可行性

2、和( )等六个方面。A.运行可行性 B.条件可行性 C.环境可行性 D.维护可行性(5)编制项目开发计划的目的是用文件的形式,把在开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软件、硬件条件等问题做出的安排以( )记载下来。A.文件形式 B. 文档形式 C. 电子档案形式 D. 条文形式2.填空题(1)软件工程是开发 、 运行 、维护和修复软件的系统方法,这里所说的系统方法,是把系统化的、规范化的、可度量化的途径应用于软件生存周期中,也就是把工程化应用于软件中。(2)可行性研究的任务不是具体解决系统中的问题,而是确定问题是否值得解决、是否能够解决。(3)软件的开发计划也称项目实施计

3、划,是一个综合的计划,是软件开发工作的指导性文档,阅读对象是软件开发的主管部门、软件技术人员和普通用户。3.思考题(1)软件危机产生的原因是什么?为何要引入软件工程的概念? 答: 忽视了软件开发前期的需求分析的需求分析; 开发过程没有统一、规范的方法论的指导,文档资料不齐全,忽视了人与人之间的交流。 忽视测试阶段的工作,提交给用户的软件质量差。 请示软件的维护。 (2)可行性研究的主要任务有哪些? 答:经济可行性 技术可行性 时机可行性 管理上的可行性 法律可行性 运行可行性(3)制定项目开发计划的主要任务是什么? 答:项目资源计划 软件开发中的资源包括用于支持软件开发的硬件,软件工具以及人力

4、资源。 成本预算 成本预算就是要估计总的开发成本,并将总的开发费用合理地分配到开发的各个阶段中去。 进度安排 进度安排确定最终的软件交付日期,并在限定的日期内安排和分配工作量。第二章 需求分析习 题1. 选择题(1)需求分析阶段的工作可以分成4个方面:对问题的识别、分析与综合、制订需求规格说明书和( )。A.需求分析评审 B.对问题的解决 C.对过程的讨论 D.功能描述(2)以下不是结构化分析方法描述系统功能模型的方法是()A数据流图 B数据字典 C加工说明D流程图(3)以下不是对象具有的特点是( ).A.数据的封装性 B.并行性 C.模块独立性好 D.对象是被动的(4)对象模型技术是1991

5、年由Jame Rumbaugh等5人提出来的,该方法把分析收集到的信息构造在对象模型、动态模型和功能模型中,将开发过程分为系统分析、系统设计( )和实现4个阶段。A.对象设计 B.类的设计 C.模块设计 D.程序设计(5)。按照层次来划分。UML的基本构造块包含:视图、图和( )A.功能模型 B.模型元素 C.示例 D.视图元素2.填空题(1)需求分析可分为对问题识别_、分析与综合、编制需求分析文档、需求评审四个阶段。(2)需求分析的任务是理解和表达用户的需求,借助当前系统的物理模型导出目标_系统的逻辑模型,解决目标系统“做什么”的问题所要做的工作是深入描述软件的功能和性能,确定软件设计的限制

6、和软件同其他系统元素的接口细节,定义软件的其他有效性需求。(3)系统分析是对问题的 识别 和 说明 的过程,分析员要回答的问题是“系统必须做什么”的问题,而不是“系统应该怎么做”的问题。(4)结构化分析方法是一种面向数据流的需求分析方法。这种方法通常与设计阶段的结构化设计衔接起来使用。(5)面向对角分析模型通常包括对象模型、功能模型、动态模型。(6)类是某些对象的模板,抽象地描述属于该类的全部对象的属性和操作。(7)UML是一种可视化的、用于绘制软件蓝图的标准建模语言。可心用UML对软件系统的各种制品(包括程序、文档等)进行描述。3.思考题(1)什么是需求分析?需求分析阶段的基本任务是什么?答

7、;一个项目通过市场调研,进行深入细致的可行性分析,获准开发后,为了保证制定的软件开发计划详细可行,还需要对软件目标及范围求精和细化,从而解决软件系统必须要做的工作。这就是本项目所阐述的需求分析基本任务:获得当前系统的物理模型 抽象出当前系统的逻辑模型建立目标系统的逻辑模型对逻辑模型的补充 (2)什么是结构化分析方法?该方法使用什么描述工具?答:结构化分析方法是一种面向数据流的需求分析方法。该方法主要是利用数据流图、数据字典和加工说明等来描述系统的功能模型。(3)什么是面向对象技术?面向对象方法的特点是什么?答;面向对象技术是一整套实用的软件开发方法特点:数据的封装性。以数据为中心。对象是主动的

8、。 模块独立性好。并行性。(4)什么是类?类与传统的数据类型有什么关系?答;在面向对象方法学中,类是某些对象的模板,抽象地描述属于该类的全部对象的属性和操作。(5)建立分析和设计模型的一种重要方法是MUL,试问MUL是一种什么样的建模方法?它如何表示一个系统?(6)UML中提供哪几种图?并说明每种图所描述的内容是什么?(7)对教师信息管理系统,用MUL的图形符号建立系统的用例图。第三章 选择项目的总体设计习 题1.选择题(1)系统开发的命名规则是( )A. 变量名只能由大小写英文字母、“_”以及阿拉伯数字组成B. 名称的第一个字符必须是英文字母或数字C. 全局变量、局部变量命名必须用英文字母简

9、写来命名D. 数据库表名、字段名等命名应尽量体现数据库、字段的艺能(2)面向事务设计方法首先确定主要的( C ),然后逐层详细描述各个状态的( A )。A. 转化过程 B. 状态变化 C. 状态分类 D. 转化变化(3)使用面向对象的设计方法进行对象分析和设计时的步骤是( ABCED )。A. 识别对象 B. 确定操作 C. 定义操作D. 确定对象之间的通信 E. 完成对象定义(4)软件建模的三个模型是:( C )描述系统能什么,( F )描述系统在何时、何地由何角色、按什么业务规则去执行,以及执行的步骤或流程,( B )描述系统工作前的数据来自何处,工作中的数据暂存什么地方,工作后的数据放到

10、何处,以及这些数据之间的关联。A. 设计模型 B. 数据模型 C. 功能模型D. 性能模型 E. 用例模型 F. 业务模型2. 填空题(1) 总体设计的主要任务是根据用户需求分析阶段得到的目标系统的物理模型确定一个合理的系统解决方案 。(2) 面向数据流设计的目标是给出设计软件结构的一个 系统化途径 。根据数据流,采用自顶向下逐步求精 的设计方法,按照系统的层次结构进行逐步分解,并以分层数据流图这种结构关系。(3) 面向对象的设计将面向对象分析方法建立的 分析模型 转化为构造软件的设计模型。(4)UML是统一建模语言的缩写,它是一种 图形符号 建模语言,利用它可以进行需求分析、概要设计 、 详

11、细设计 、编程实现、项目计划、测试、原型迭代、产品发布和产品维护。第四章 软件项目详细设计习题1.选择题(1)下面关于详细设计的说法错误的是()A详细设计阶段的任务是将解决问题的办法进行具体化B.详细设计阶级是以比较抽象的方式提出了解决问题的方法C.详细设计阶段不用真正编写程序,而是设计出程序的详细规格说明 D.详细设计是将概要设计的框架内容具体化、明细化(2)类图是静态图的一种,它包括的三个部分是( )。 A.属性 B.类 C.用户接口 D. 联系(3)下面关于数据库的描述正确的是( ) A.数据库是存储和处理数据用的 B.数据库设计的目的是使信息系统在数据库服务器上建立一个好的数据模型 C

12、.数据库设计的主要工作是设计数据库的表 D.数据库是用来确定对象之间通信的工具 E.数据库设计的难易程度取决于数据关系的复杂程度和数据量的大小两个要素(4)传统的详细设计的工具主要包括( ) A.程序流程图 B.数据结构设计 C.模块和接口 D.判定表E.程序设计语言2.填空题1.RUP(统一开发过程)模式的最大优点是 按照角色识别用例 方法,该方法可以较为直观地建立起系统的架构,通过反复识别,避免需求中的露项。2.类有属性、操作、结束以及其他成分等,属性 描述类性质的实例 所能具有的值,操作实现类的服务功能 ,用户接口就是 用户和系统交互的界面,联系代表 对象之间的关系.3.详细设计需要对系

13、统的模块做概要性的说明,主要包括 模块 描述、 算法 描述, 数据 描述。4.面向对象的详细设计从概要设计的对象和类开始。算法是设计对象中每个方法 的实现规格,数据结构的设计与算法是同时进行的,因为这个方法要对类的属性进行处理,主要包括三类 对数据进行计算 ,对数据进行计算,监控对象事件 。第五章 软件项目的实现 习 题1.选择题(1)下列标识符中,不合法的用户标识符为()A.a#b B._int C.a_10 D.Pad (2)每个类(C)构造函数。A. 只能有一个 B. 只可有共有的C. 可以有多个 D.只可有缺省的(3)在私有继承的情况下,基类成员在派生类中的访问权限()。A. 受限制

14、B.保持不变 C. 受保护 D.不受保护(4)对象的三要素是( )。A.窗口、时间、消息 B.窗口、数据、动作C.属性、方法、事件 D.数据、函数、动作(5)程序的三种基本控制结构是( )。A.数组、递推、排序 B.递归、递推、迭代C.顺序、选择、循环 D.过程、子程序、分程序(6)下面叙述正确的是( )。 A.算法的执行效率与数据的存储结构无关 B.算法的空间复杂度是指算法程序中指令的条数 C.算法的有穷性是算法必须能在执行有限个步骤之后终止 D.以上三种描述都不对2.填空题 1.在类的成员声明时,若使用 protected 修饰符则该成员只能在该类或其派生类中的使用。 2.类的静态成员属于

15、 类的方法 所有,非静态成员属于类的实例所有。 3.算法复杂度主要包括时间复杂度和 空间 复杂度。 4.把一个整数转换成字符串,并倒叙保存在字符数组S中,请补充fun函数中的两处空,是她能得出正确的结果,不得增行或删行,也不得更改程序的结果。 #include stdio.h #define N 80 char sN; void fun(long int n) int i=0;while(n0)si=n%10+0;n= 1 ;i+;Si= 2 ;Main()long int n=12345;Printf(*the origial data *n);Printf(n=%ld,n);Fun(n);

16、Printf(n%s,s);3. 思考题(1)第一代至第四代语言是如何划分的?各具有什么特点?包括哪些语言?(2)过程设计语言具有哪些特征?(3)什么是对象?对象具有哪几种形式?(4)程序的编码风格主要体现在哪几个方面?答:编码风格包括四个方面,即源程序文档化,数据说明的方法,语句结构和输入输出方法。(5)面向对象生存期模型与传统的生存期模型有什么区别?4. 程序改错(1) #includestdio.h main() int i; float y=1; for(i=2;i=5;i+) y+=1/(i*i); printf(%fn,y); (2) 函数 prn_star(m,left)输出正菱

17、形图案,其中参数m代数图案的行数(为一奇数),left代表图案距屏幕左边的列数。 函数 prt_str(m,left)中有3处错误代码,请指出并改正。#includestdio.hvoid prn_star(m,left)int m, left;int i,j,p;for(i=1;im;i+) if(i=m) p=i;else p=m+1+i;for(j=1;j=left+(m-(2*p-1)/2;j+) printf();for(j=1;j=2*p-1;j+) printf(o);printf(n);主函数如下:main()int m.left;p(请输入正菱形图案的行数:);scanf(%

18、d,&m);printf(请输入正菱形距屏幕左边的列数:);scanf(%d,&left);prn_star(m,left);第六章 软件项目测试习题1.选择题(1)软件测试的目地是( 1234 )为了提高测试的效率,应该( 2134 )。使用白盒测试法时,确定测试数据应根据(3214 )和只等的覆盖标准。与设计测试数据无关的文档是( 3124 )。软件的集成测试工作最好由( )承担,以提高集成测试的效果。供选择的答案:A. 评价软件的质量 发现软件的错误 找出软件中的所有错误 证明软件是正确的B. 随机地选取测试数据 取一切可能的输入数据作为测试数据 在完成编码以后制订软件的测试计划选择发现

19、错误的可能性大的数据作为测试数据C. 程序的内部逻辑 程序的复杂程度 使用说明书 程序的功能D该软件的设计人员 程序的复杂程度 源程序 项目开发计划E该软件的设计人员 该软件开发组的负责人 该软件的编程人员 不属于该软件开发组的软件设计人员(2)以消除瓶颈为目的的测试是( )A负载测试 B性能测试 C 动态测试 D覆盖测试(3)黑盒测试侧重于( )A软件的整体功能 B.有关代码的知识C以上都是 D.以上都不是(4)在下面列出的逻辑驱动覆盖测试方法中,逻辑覆盖准则最弱的是( )A条件覆盖 B判定覆盖C语句覆盖 D判定一条件覆盖(5)从测试阶段角度,测试正确的顺序是( ),同时给出所选择的正确策略

20、含义和被测对象是什么?单元测试 集成测试 系统测试 验收测试A B C D 2.填空题(1)测试的主要目的是找出软件的 错误 。(2)调试有助于监测和修复开发阶段中的错误。(3)大多数情况下,程序员测试自己所编写的单元所采用的测试为测试分类中的 单元测试。(4)对面向过程的系统采用的集中策略有:测试、调试两种。3.简答题(1)谈谈软件测试的一些基本原则。答:测试是为了发现程序中的错误而执行程序的过程。 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。 成功的测试是发现了至今为止尚未发现的错误的测试。(2)简要描述单元测试、集成测试、系统测试的内容。它们中各自的关注点是什么? (3)下

21、面是选择排序的程序,其中datalist是数据表,它们两个数据成员:一个是元素类型为Element的数组V;另一个是数组大小n。算法中用到两个操作, 一是取某数组元素V的关键码操作getKey( );一是交换两数组元素内容的操作Swap()。Void SelectSort(datalist&list)/对表list.V0到list.Vn-1进行排序,n是表当前长度。 for(int i=0;ilist.n-1;i+) int k=i; /在list.V.Key到list.Vn-1.Key中找具有最小关键码的对象for(int j=i+1;jlist.n;j+) if(list.Vj.getKe

22、y()list.Vk.getKey() k=j; /当前具最小关键码的对象 if(k!=i) Swap(list.V,list.vk); /交换 用基本路径覆盖法给出测试路径。为各测试路径设计测试用例。第七章 软件维护习 题1.什么是软件维护?答:软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。2.请阐述软件维护的策略。答:改正性维护 适应性维护完善性维护 预防性维护3.请列举几种提高软件的可维护性方法。答 建立明确的软件质量目标和优先级。使用提高软件质量的技术和工具。进行明确的质量保证审核。选择可维护的程序设计语言。改进程序的文档。第八章 软件项目管理习题1.

23、请结合风险的特点阐述对软件风险的认识。2.请阐述软件评审的意义及其作用。答:优先站在用户使用方便、简洁性的角度来考虑,设计越简单越好考虑程序设计的方便性、维护容易性、设备条件限制性等写代码前就要把已知缺陷解决在代码中要增加注释,切忌代码编写混乱,并没有相应的注视说明尽量利用现有的产品、技术、代码。避免界面布局混乱3.判断以下活动中那些事项目,哪些不是项目,并请说明理由。 (1)升级某政府部门的办公自动化系统 (2)打字员打印文件 (3)报考软件学院工程硕士研究生 (4)购买家用轿车 (5)每天骑车上班第九章 软件项目开发总结 习 题1.软件开发中需要注意的问题有哪些?答:1)命名方法要有统一的代码书写规范文件名称命名方法变量的命名方法表单的命名方函数名的命名方法控件、窗体的命名方法报表等的命名方法2.对教师管理系统实际运行过程中出现的问题尝试修改,逐步改进完善教室管理系统,在教室管理系统中考虑加入教师权限管理问题。很多问题可以参考任务9.3中对学生信息管理系统的展望。答:

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

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